JavaRush /Java Blog /Random-TK /Git bilen başlamak: täze başlanlar üçin jikme-jik gollanm...

Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma

Toparda çap edildi

Giriş ýerine

Salam geljekki uly programma inereneri. Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma - 1Bu gün wersiýa gözegçilik ulgamy, ýagny Git (iňlis grammatikasyndan görnüşi ýaly JIT däl-de okaň) hakda gürleşeris. Hawa, hawa, Merkurial, SVN-iň hem bardygyny bilýärin ... Emma dogrymy aýtsam: olaryň wagty eýýäm geçdi, men siziň üçin gymmatly wagtyňyzy ýitirjek däl. Biziň döwrümizde Giti tanamagyň möhümdigine düşünmek üçin men muny aýdaryn: muny bilmezden / düşünmezden programmirlemekde işiňiz ýok. Emma gözellik, yzygiderli işlemek üçin ähli buýruklary we mümkinçilikleri kelläňizde saklamagyň zerurlygy ýok. Bolýan zatlara düşünmäge kömek etjek buýruklar toplumyny bilmeli.

Git esaslary

Git, kodumyz üçin paýlanan wersiýa dolandyryş ulgamy. Näme üçin bize gerek? Paýlanan toparlara haýsydyr bir iş dolandyryş ulgamy gerek. Wagtyň geçmegi bilen bolup geçýän üýtgeşmeleri yzarlamak zerur. .Agny, haýsy faýllaryň üýtgändigini we nädip üýtgändigini ädimme-ädim görýäris. Bu, bir meseläniň içinde edilenleri seljereniňizde has möhümdir: bu yza gaýdyp gelmäge mümkinçilik berýär. Aagdaýy göz öňüne getireliň: iş kody bardy, hemme zat gowydy, ýöne bir zady gowulaşdyrmak, bärde üýtgetmek, şol ýerde düzeltmek kararyna geldik. Hemme zat gowy boldy, ýöne bu gowulaşma işlemegiň ýarysyny bozdy we işlemegi mümkin etmedi. Onda näme bolar? Gita bolmasa, birnäçe sagatlap oturmalydy we hemme zadyň aslynda nähili bolandygyny ýada salmalydy. Şeýlelik bilen, biz diňe borçnama gaýdyp gelýäris we bu hut şu. Ora-da bir wagtyň özünde kodlaryny üýtgedýän iki dörediji bar bolsa näme etmeli? Git bolmasa, şuňa meňzeýär: kody asyl nusgasyndan göçürdiler we etmeli zatlaryny etdiler. Wagt gelýär we ikisi hem üýtgeşmelerini esasy bukja goşmak isleýär. Bu ýagdaýda näme etmeli? .. Bu işi etmegiň wagtyna baha bermäge-de het edip bilemok. Git ulansaňyz, beýle problema bolmaz.

Git gurmak

Git-i kompýuteriňize guralyň. Her kimiň dürli OS-yň bardygyna düşünýärin, şonuň üçin birnäçe ýagdaýy düşündirmäge synanyşaryn.

Windows üçin gurnama

Hemişe bolşy ýaly, exe faýlyny göçürip alyp işlemeli. Bu ýerde hemme zat ýönekeý: ilkinji Google baglanyşygyna basyň , guruň we hut şu. Iş üçin olaryň berýän baş konsolyny ulanarys. Windows-da işlemek üçin “Git Bash” -y işletmeli. Başlangyç menýusynda görnüşi şeýle: Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma - 2Bu eýýäm işläp boljak konsol. Her gezek git açmak üçin taslama bilen bukja gitmezlik üçin, gerekli ýol bilen konsoly açmak üçin bukjada sag düwmä basyp bilersiňiz: Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma - 3

Linux üçin gurnama

Adatça git eýýäm Linux ýadrosyny ösdürmek üçin ýazylan gural bolany üçin Linux eýýäm paýlanylýar we gurulýar. Itöne ol ýerde bolmadyk ýagdaýlar bolýar. Muny barlamak üçin terminaly açmaly we git --version ýazmaly. Eger anyk jogap bar bolsa, hiç zat gurmagyň zerurlygy ýok. Terminal açyň we guruň. Ubuntu-da işleýärin, şonuň üçin näme ýazjagyňyzy aýdyp bilerin: sudo apt-get install git. Ine, indi: Git-i islendik terminalda ulanyp bilersiňiz.

MacOS-da gurnamak

Bu ýerde-de ilki bilen Gitiň eýýäm bardygyny ýa-da ýokdugyny barlamaly (ýokarda, Linux-da bolşy ýaly). Notok bolsa, iň aňsat usuly iň soňky wersiýasyny göçürip almakdyr . XCode gurlan bolsa, Git hökman awtomatiki gurlar.

Git gurmak

Gitde işiň ýerine ýetiriljek ulanyjy sazlamasy bar. Bu ýerlikli we zerur zat, sebäbi borçnama döredilende, Git bu maglumatlary Awtor meýdançasy üçin alýar. Projectshli taslamalar üçin ulanyjy adyny we parolyny gurmak üçin aşakdaky buýruklary girizmeli:

git config --global user.name ”Ivan Ivanov”
git config --global user.email ivan.ivanov@gmail.com
Belli bir taslama üçin awtory üýtgetmek zerurlygy bar bolsa (mysal üçin şahsy taslama üçin), --global-ny aýyryp bilersiňiz we bu işlär:

git config user.name ”Ivan Ivanov”
git config user.email ivan.ivanov@gmail.com

Biraz teoriýa ...

Mowzukda galmak üçin habaryňyza birnäçe täze söz we hereket goşmak maslahat berilýär ... Otherwiseogsam gürleşjek zat bolmaz. Elbetde, bu birneme manysyz we iňlis diliniň göçürmesi, şonuň üçin iňlis dilinde many goşaryn. Haýsy sözler we hereketler?
  • git ammary;
  • bermek (bermek);
  • şahasy;
  • birleşdirmek;
  • dawa-jenjeller;
  • çekmek;
  • iteklemek;
  • käbir faýllary nädip äsgermezlik etmeli (.gitignore).
We ş.m.

Git ştatlary

Gitanyň düşünmeli we ýatda saklamaly birnäçe ýagdaýy bar:
  • gözegçilik edilmedik;
  • üýtgedildi;
  • taýýarlanan (sahnalaşdyrylan);
  • ygrarly.

Bu näme many berýär?

Bular kodumyzdaky faýllaryň ýerleşýän ştatlarydyr. .Agny, olaryň durmuş ýoly adatça şeýle görünýär:
  1. Döredilen we ammarda goşulmadyk bir faýl gözegçiliksiz ýagdaýda bolar.
  2. Git ammaryna eýýäm goşulan faýllara üýtgeşmeler girizýäris - olar üýtgedilen ýagdaýda.
  3. Üýtgeden faýllarymyzdan diňe zerur (ýa-da hemmesini) saýlaýarys (mysal üçin, düzülen synplar gerek däl) we üýtgeşmeler bilen bu synplar sahnalaşdyrylan ýagdaýa düşýär.
  4. Sahnalaşdyrylan ýagdaýdan taýýarlanan faýllardan borçnama döredilýär we Git ammaryna girýär. Ondan soň sahnalaşdyrylan ýagdaý boş. Modifiedöne üýtgedilen bir zat bolup biler.
Bu meňzeýär (resmi resminamadan surat, şonuň üçin oňa ynanyp bilersiňiz)): Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma - 4

Wada näme?

Wada wersiýa gözegçiliginde esasy zat. Bu borçnamadan bäri ähli üýtgeşmeleri öz içine alýar. Borçlar ýeke-täk baglanyşyk sanawy ýaly biri-birine baglydyr. : Agny: Ilkinji borç bar. Ikinji wada döredilende, (ikinjisi) birinjiden soň gelýändigini bilýär. Şeýlelik bilen maglumatlary yzarlap bilersiňiz. Ylalaşygyň metadata diýlip atlandyrylýan öz maglumatlary hem bar:
  • tapyp boljak özboluşly borç kesgitleýjisi;
  • döreden borçnamanyň awtorynyň ady;
  • döredilen senesini bermek;
  • bu borçnamanyň dowamynda edilenleri beýan edýän teswir.
Görnüşi ýaly: Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma - 5

Şaha näme?

Git bilen başlamak: täze başlanlar üçin jikme-jik gollanma - 6Şaha, borçnamany görkezýär. Wada haýsy borçnamanyň öňünden gelendigini bilýänligi sebäpli, bir şahamça haýsydyr bir borçnamany görkezse, öňki edenleriň hemmesi oňa degişlidir. Şundan ugur alyp, şol bir borçnamany görkezýän şahamçalaryň köp bolup biljekdigini aýdyp bileris. Iş şahamçalarda bolýar, şonuň üçin täze borçnama döredilende, şahamça görkezijisini täze borçnama geçirýär.

Git bilen başlamak

Diňe ýerli ammar ýa-da uzakdaky ammar bilen işläp bilersiňiz. Zerur buýruklary işlemek üçin diňe ýerli ammary ulanyp bilersiňiz. Projecthli maglumatlary diňe taslamada .git bukjasynda saklaýar. Uzakdan gürlesek, ähli maglumatlar uzak serwerde bir ýerde saklanýar: taslamanyň diňe bir nusgasy ýerli görnüşde saklanýar, üýtgeşmeleri uzakdaky ammarlara geçirip bolýar. Bu ýerde we mundan beýläk konsolda git bilen işlemegi maslahatlaşarys. Elbetde, käbir grafiki çözgütleri ulanyp bilersiňiz (mysal üçin, Intellij IDEA-da), ýöne ilki bilen haýsy buýruklaryň bolup geçýändigini we olaryň manysyny anyklamaly.

Git bilen ýerli ammarda işlemek

Ondan soň, makalany okanyňyzda eden ähli ädimlerimi ýerine ýetirmegiňizi maslahat berýärin. Bu, materialy düşünmegiňizi we saklamagyňyzy gowulaşdyrar. Şeýlelik bilen, işdäňiz :) amerli ammar döretmek üçin ýazmaly:

git init
Начало работы с Git: подробный гайд для новичков - 7Bu, konsolyň ýerleşýän ýerinde .git bukjasyny döreder. .git, Git ammary barada ähli maglumatlary saklaýan bukjadyr. Öçürmegiň hajaty ýok;) Soňra bu taslama faýllar goşulýar we olaryň ýagdaýy Gözegçilik edilmeýär. Häzirki iş ýagdaýynyň nämedigini görmek üçin ýazyň:

git status
Начало работы с Git: подробный гайд для новичков - 8Biz baş şahada, başga birine geçýänçäk, hemme zat şeýle galar. Şeýlelik bilen haýsy faýllaryň üýtgedilendigini, ýöne sahnalaşdyrylan ýagdaýyna entek goşulmandygyny görüp bilersiňiz. Olary sahnalaşdyrylan ýagdaýa goşmak üçin git add ýazmaly. Bu ýerde birnäçe wariant bolup biler, mysal üçin:
  • git add -A - sahnalaşdyrylan ýagdaýdaky ähli faýllary goşuň;
  • git goş. - bu bukjadaky ähli faýllary we içerki faýllary goşuň. Aslynda öňki bilen deňdir;
  • git <filename> goşmak - diňe belli bir faýl goşýar. Bu ýerde käbir nagyşlara görä goşmak üçin yzygiderli aňlatmalary ulanyp bilersiňiz. Mysal üçin, git add * .java: bu diňe java giňeltmesi bilen faýl goşmalydygyny aňladýar.
Ilkinji iki wariantyň ýönekeýdigi düşnüklidir, ýöne goşulmak bilen has gyzykly bolar, şonuň üçin ýazýarys:

git add *.txt
Theagdaýy barlamak üçin eýýäm bilýän buýrugy ulanýarys:

git status
Начало работы с Git: подробный гайд для новичков - 9Mundan yzygiderli aňlatmanyň dogry işleýändigini we indi test_resource.txt-iň sahnalaşdyrylandygyny görüp bileris. Iň soňunda bolsa, iň soňky tapgyr (ýerli ammar bilen, uzakda ýerleşýän ýene biri bolar;)) - täze borçnama beriň we dörediň:

git commit -m “all txt files were added to the project”
Начало работы с Git: подробный гайд для новичков - 10Ondan soň, bir şahanyň tabşyryk taryhyna göz aýlamak üçin ajaýyp buýruk bar. Geliň, ulanalyň:

git log
Начало работы с Git: подробный гайд для новичков - 11Bu ýerde, ilkinji tabşyrygymyzyň geçiren tekstimiz bilen peýda bolandygyny eýýäm görüp bilersiňiz. Geçen tekstimiziň bu borçnamanyň dowamynda edilen zatlary mümkin boldugyça takyk kesgitlemelidigine düşünmek gaty möhümdir. Bu geljekde köp gezek kömek eder. Entek uklamadyk gyzyklanýan okyjy: GitTest.java faýlyna näme boldy? Indi taparys, munuň üçin ulanyň:

git status
Начало работы с Git: подробный гайд для новичков - 12Görşümiz ýaly, gözegçilik edilmedik ýagdaýda galyp, ganatlarynda garaşýar. Ora-da belki taslama asla goşmak islemeýäris? Käwagt şeýle bolýar. Ondan soň has gyzykly etmek üçin test_resource.txt tekst faýlymyzy üýtgetmäge synanyşalyň. Geliň, ol ýere käbir tekst goşalyň we ýagdaýyny barlalyň:

git status
Начало работы с Git: подробный гайд для новичков - 13Bu ýerde iki ştatyň arasyndaky tapawudy anyk görüp bilersiňiz - gözegçilik edilmedik we üýtgedilen. GitTest.java gözegçilik edilmedik ýagdaýda we test_resource.txt üýtgedilen ýagdaýda. Üýtgedilen ýagdaýda eýýäm faýllar bar bolsa, olara edilen üýtgeşmelere seredip bileris. Bu buýrugy ulanyp edip bolar:

git diff
Начало работы с Git: подробный гайд для новичков - 14Hereagny, bu ýerde tekst faýlymyza salam dünýäsini goşandygymy aýdyň görüp bilersiňiz! Tekst faýlyna üýtgeşmeler goşuň we ýerine ýetiriň:

git add test_resource.txt
git commit -m “added hello word! to test_resource.txt”
Commhli borçnamalara seretmek üçin ýazyň:

git log
Начало работы с Git: подробный гайд для новичков - 15Görşüňiz ýaly, eýýäm iki sany borç bar. Edil şonuň ýaly, GitTest.java goşýarys. Indi teswir ýok, diňe buýruklar:

git add GitTest.java
git commit -m “added GitTest.java”
git status
Начало работы с Git: подробный гайд для новичков - 16

.Gitignore bilen işlemek

Diňe deslapky kody we ammarda başga hiç zady saklamak isleýändigimiz düşnüklidir. Başga näme bolup biler? Iň bolmanda, ösüş gurşawyny döredýän düzülen synplar we / ýa-da faýllar. Git olary äsgermezlik etmek üçin döredilmeli ýörite faýl bar. Muny edýäris: .gitignore atly taslamanyň kökünde bir faýl döredýäris we bu faýlda her setir äsgermezlik bolar. Bu mysalda git äsgermezlik şeýle bolar:

```
*.class
target/
*.iml
.idea/
```
Indi seredeliň:
  • birinji setir .class giňeltmesi bilen ähli faýllary äsgermezlik etmek;
  • ikinji setir, maksat bukjasyna we içindäki ähli zatlara üns bermezlik;
  • üçünji setir .iml giňeltmesi bilen ähli faýllary äsgermezlik etmek;
  • Dördünji setir .idea bukjasyna üns bermezlikdir.
Geliň, mysal bilen synap göreliň. Munuň nähili işleýändigini görmek üçin, düzülen GitTest.class synpyny taslama goşuň we taslamanyň ýagdaýyna serediň:

git status
Начало работы с Git: подробный гайд для новичков - 17Elbetde, tötänleýin (git add -A ulansak) taslama düzülen synp goşmak islemeýäris. Munuň üçin .gitignore faýly dörediň we öň beýan edilenleriň hemmesini goşuň: Начало работы с Git: подробный гайд для новичков - 18Geliň, täze bir karar bilen taslama git ähmiýetini goşalyň:

git add .gitignore
git commit -m “added .gitignore file”
Indi hakykat pursaty: Git ammaryna goşmak islemedik, gözegçilik edilmedik ýagdaýda düzülen GitTest.class synpymyz bar. Git äsgermezlik şu ýerde işlemeli:

git status
Начало работы с Git: подробный гайд для новичков - 19Hemme zat düşnükli) Git äsgermezlik +1)

Şahalar we şuňa meňzeşler bilen işlemek

Elbetde, bir şahada işlemek bir topar üçin amatsyz we toparda birden köp adam bar bolsa mümkin däl. Munuň üçin bir şaha bar. Öň hem aýdyşym ýaly, bir şaha diňe ýerine ýetirýän hereketlendiriji görkeziji. Bu bölümde dürli şahalarda işlemäge serederis: üýtgeşmeleri bir şahadan beýlekisine nädip birleşdirmeli, haýsy gapma-garşylyklar ýüze çykyp biler we başgalar. Ammardaky ähli şahalaryň sanawyny görmek we haýsysyna degişlidigiňize düşünmek üçin ýazmaly:

git branch -a
Начало работы с Git: подробный гайд для новичков - 20Bizde diňe bir ussat şahanyň bardygyny görüp bilersiňiz, öňündäki ýyldyzjyk bolsa bizdedigimizi aýdýar. Theeri gelende aýtsak, haýsy şahadadygymyzy bilmek üçin status barlagyny (git statusy) hem ulanyp bileris. Ondan soň, şahalary döretmek üçin birnäçe wariant bar (belki has köp bolmagy mümkin, şulary ulanýaryn):
  • işleýän bölümimize esaslanyp täze şahamça döretmek (ýagdaýlaryň 99%);
  • belli bir borçnama esasynda şahamça dörediň (1%).

Belli bir borçnama esasynda şahamça dörediň

Üýtgeşik kesgitleýjä bil baglarys. Muny tapmak üçin ýazýarys:

git log
Начало работы с Git: подробный гайд для новичков - 21"Salam dünýä goşuldy ..." teswirleri bilen berlen wadany belledim. Özboluşly kesgitleýjisi bar - “6c44e53d06228f888f2f454d3cb8c1c976dd73f8”. Bu borçnamadan başlap ösüş pudagyny döretmek isleýärin. Munuň üçin ýazaryn:

git checkout -b development 6c44e53d06228f888f2f454d3cb8c1c976dd73f8
Baş şahadan diňe ilkinji iki işi öz içine alýan şaha döredilýär. Muny synamak üçin ilki bilen başga bir şaha göçendigimize göz ýetireris we ýerine ýetirilen işleriň sanyna serederis:

git status
git log
Начало работы с Git: подробный гайд для новичков - 22Bu hakykat: biziň iki borjumyz bar. Theeri gelende aýtsak, gyzykly bir nokat: bu şahada entek .gitignore faýly ýok, şonuň üçin düzülen faýlymyz (GitTest.class) indi gözegçilik edilmedik ýagdaýda görkezilýär. Indi ýazmak arkaly şahalarymyzy täzeden gözden geçirip bileris:

git branch -a
Начало работы с Git: подробный гайд для новичков - 23Iki şahanyň bardygyny görmek bolýar - ussat we ösüş - indi bolsa ösüşde.

Häzirki şahasyna esaslanyp şahany dörediň

Şaha döretmegiň ikinji usuly başga birine gurmakdyr. Baş şahanyň esasynda bir şahamça döretmek isleýärin, şonuň üçin ilki oňa geçmeli, indiki ädim bolsa täze bölüm döretmek. Geliň seredeliň:
  • git Checkout master - baş şaha göçmek;
  • git statusy - ussadyndadygyny barlaň.
Начало работы с Git: подробный гайд для новичков - 24Bu ýerde baş şaha geçendigimizi görüp bilersiňiz, git äsgermezlik bu ýerde eýýäm işleýär we düzülen synp indi gözegçilik edilmedik ýaly görünýär. Indi baş şahanyň esasynda täze şahany döredýäris:

git checkout -b feature/update-txt-files
Начало работы с Git: подробный гайд для новичков - 25Bu şahanyň ussat bilen birmeňzeş boljakdygyna şübhelenýän bolsaňyz, git gündeligini ýazyp, ähli tabşyryklara seredip, aňsatlyk bilen barlap bilersiňiz. Olaryň dördüsi bolmaly.

Dawa-jenjelleri çözüň

Dawa-jenjeliň nämedigine düşünmezden ozal bir şahany beýlekisine birleşdirmek (birleşdirmek) hakda gürleşmeli. Bu surat, bir şahanyň beýlekisine birleşdirilende prosesi görkezip biler: Начало работы с Git: подробный гайд для новичков - 26aagny, esasy şahasy bar. Belli bir wagt, ondan üýtgeşmeler bolup geçýän ikinji derejeli bir zat döredilýär. Iş gutaransoň, bir şahany beýlekisine birleşdirmeli. Dürli aýratynlyklary suratlandyrjak däl: Diňe şu makalanyň çäginde düşünmek isleýärin, zerur bolsa jikme-jiklikleri özüňiz taparsyňyz. Şeýlelikde, mysalymyzda aýratynlyk / update-txt-faýllar bölümini döretdik. Şahamçanyň adyndan ýazylyşy ýaly, teksti täzeläris. Начало работы с Git: подробный гайд для новичков - 27Indi bu mesele üçin täze bir karar döretmeli:

git add *.txt 
git commit -m “updated txt files”
git log
Начало работы с Git: подробный гайд для новичков - 28Indi, aýratynlyk / update-txt-faýllar bölümini ussa birleşdirmek islesek, git birleşme aýratynlygy / update-txt-faýllary özleşdirmeli we ýazmaly:

git checkout master
git merge feature/update-txt-files
git log
Начало работы с Git: подробный гайд для новичков - 29Netijede, indi baş bölümde aýratynlyk / update-txt-faýllara goşulan borçnama bar. Bu aýratynlyk aýratynlyk bölümini pozup bilersiňiz. Munuň üçin ýazýarys:

git branch -D feature/update-txt-files
Häzirlikçe düşnükli, şeýlemi? Theagdaýy çylşyrymlaşdyralyň: indi txt faýlyny täzeden üýtgetmelidigimizi aýdalyň. Emma indi bu faýl jadygöýde hem üýtgediler. Itagny, paralel üýtgär we Git täze şahany baş şaha birleşdirmek islän ýagdaýymyzda näme edilmelidigine düşünip bilmez. Git! Ussat esasly täze bir bölüm döredýäris, text_resource.txt-a üýtgeşmeler girizýäris we bu meselede borçnama döredýäris:

git checkout -b feature/add-header
... делаем изменения в файле
Начало работы с Git: подробный гайд для новичков - 30

git add *.txt
git commit -m “added header to txt”
Начало работы с Git: подробный гайд для новичков - 31Baş şaha gidiň we bu tekst faýlyny aýratynlyk şahasy bilen bir hatarda täzeläň:

git checkout master
… обновor test_resource.txt
Начало работы с Git: подробный гайд для новичков - 32

git add test_resource.txt
git commit -m “added master header to txt”
Indi bolsa iň gyzykly pursat: üýtgeşmeleri aýratynlyk / goşma sözbaşy şahasyndan ussatlyga birleşdirmeli. Biz baş şahada, şonuň üçin etmeli zadymyz:

git merge feature/add-header
Emma test_resource.txt faýlyndaky gapma-garşylyk bilen netije alarys: Начало работы с Git: подробный гайд для новичков - 33Bu ýerde Gitiň bu kody nädip birleşdirmelidigini özbaşdak çözüp bilmeýändigini we ilki bilen konflikti çözmelidigimizi we diňe şondan soň karar bermelidigimizi görýäris. Bolýar, geliň, tekst redaktorynda gapma-garşylygy öz içine alýan faýly açalyň we göreliň: Начало работы с Git: подробный гайд для новичков - 34Gitiň bu ýerde näme edenine düşünmek üçin nirede ýazanymyzy ýada salmaly we deňeşdirmeli:
  1. “<<<<<<< HEAD” bilen “=======” arasynda esasy bölümde şu setirde bolup geçen esasy üýtgeşmeler.
  2. “=======” bilen “>>>>>>> aýratynlyk / goşma sözbaşy” arasynda aýratynlyk / goşma sözbaşy bölüminde üýtgeşmeler bar.
Şeýlelik bilen, Git şu wagt bu faýly nädip birleşdirmelidigini bilip bilmeýändigini görkezýär, bu bölümi dürli şahalardan iki bölege bölýär we özümiz karar bermegi teklip edýär. Bolýar, berk karar bilen hemme zady aýyrmagy karar ederin, diňe sözbaşy sözüni goýuň: Начало работы с Git: подробный гайд для новичков - 35Üýtgeşmeleriň ýagdaýyna seredeliň, beýany birneme üýtgeşik bolar. Üýtgedilen ýagdaý bolmaz, ýöne Unmerged. Şeýlelik bilen, bäşinji ýagdaýy arkaýyn goşup bilerdik ... Iöne bu zerur däl diýip pikir edýärin, göreliň:

git status
Начало работы с Git: подробный гайд для новичков - 36Munuň başga, üýtgeşik bir ýagdaýdygyna ynanýardyk. Dowam edeliň:

git add *.txt
Начало работы с Git: подробный гайд для новичков - 37Düşündirişde, diňe git ýazmagy teklip edýändiklerine göz ýetirersiňiz. Biz diňleýäris we ýazýarys:

git commit
Начало работы с Git: подробный гайд для новичков - 38Bularyň hemmesi: muny nädip etdik - konsoldaky konflikti çözdük. Elbetde, ösüş şertlerinde muny birneme aňsatlaşdyryp bilersiňiz, mysal üçin, Intellij IDEA-da hemme zat şeýle bir gowy gurlupdyr welin, onda ähli zerur çäreleri ýerine ýetirip bilersiňiz. Developmentöne ösüş gurşawy kapotyň aşagynda köp zatlar edýär we köplenç ol ýerde nämäniň bolup geçendigine düşünmeýäris. Düşünişmezlik bolanda, problemalar ýüze çykyp biler.

Uzakdaky ammarlar bilen işlemek

Iň soňky ädim, uzakdaky ammar bilen işlemek üçin zerur bolan ýene birnäçe buýruga düşünmekdir. Öň hem aýdyşym ýaly, uzakdaky ammar ammaryň saklanýan we klonlap boljak ýeridir. Uzakdaky ammarlaryň haýsy görnüşleri bar? Birnäçe mysal bar:
  • GitHub ammarlar we bilelikdäki ösüş üçin iň uly ammardyr. Öňki makalalarda düşündiripdim. Github hasabyma
    ýazylyň . Köplenç işimiň dowamynda öwrenýän ýerlerimde işimi görkezýärin.

  • GitLab açyk çeşmeli web esasly DevOps ömri sikli guraly bolup, öz wikisi bilen Git üçin kod ammary dolandyryş ulgamyny üpjün edýär, yzarlaýyş ulgamyny , CI / CD turbageçirijisini we beýleki aýratynlyklary berýär. Microsoft-yň GitHub-y satyn alandygy baradaky habardan soň, käbir döredijiler GitLab-daky işlerini köpeltdiler.

  • “BitBucket”, “Mercurial” we “Git” wersiýa dolandyryş ulgamyna esaslanýan taslamalary ýerleşdirmek we olaryň bilelikdäki ösüşi üçin web hyzmatydyr. Bir wagtlar GitHub-dan uly artykmaçlygy bardy, sebäbi mugt hususy ammarlary bardy. Geçen ýyl GitHub bu aýratynlygy hemmeler üçin mugt elýeterli etdi.

  • We ş.m.

Uzakdaky ammar bilen işleýän wagtyňyz etmeli ilkinji işiňiz, taslamany ýerli birine klonlamakdyr. Bu ýagdaýda ýerli eden taslamamyzy eksport etdim, indi her kim muny ýazmak arkaly klonlap biler:
git clone https://github.com/romankh3/git-demo
Indi ýerli derejede taslamanyň doly göçürmesi bar. Taslamanyň iň soňky göçürmesiniň ýerli ýerleşýändigine göz ýetirmek üçin maglumatlary ýazmak bilen taşlamaly:

git pull
Начало работы с Git: подробный гайд для новичков - 39Biziň ýagdaýymyzda indi uzakdan hiç zat üýtgemedi, şonuň üçin jogap: eýýäm täzelenen. Remoteöne uzakdaky ammarda käbir üýtgeşmeler girizsem, ýerli çekilenden soň täzelener. Netijede, iň soňky buýruk maglumatlary uzakdaky ammarlara geçirmekdir. Locallyerli bir zat edenimizden we ony uzakdaky ammarlara geçirmek islänimizde, ilki bilen ýerli derejede täze bir şertnama döretmeli. Munuň üçin tekst faýlymyza başga bir zat goşalyň: Начало работы с Git: подробный гайд для новичков - 40Indi bu biziň üçin umumy zat - bu meselede borçnama döredýäris:

git add test_resource.txt
git commit -m “prepated txt for pushing”
Indi muny uzakdaky ammarlara iteklemek buýrugy:

git push
Начало работы с Git: подробный гайд для новичков - 41Ine, saňa aýtmak islän zadym. Üns bereniňiz üçin sag boluň. GitHub hasabyma ýazylyň , şol ýerde öwrenýän we işleýän zatlarymdan dürli ajaýyp mysal taslamalaryny ýerleşdirýärin.

peýdaly baglanyşyklar

Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION