Git

22 būtiskas Git komandas

22 būtiskas Git komandas
Git ir kļuvusi par būtiskāko versiju kontroles sistēmu. Git popularitātes pieaugumu var saistīt ar tā ātrumu, veiklību un daudzpusību. Neatkarīgi no tā, vai esat ārštata tīmekļa izstrādātājs vai programmatūras izstrādātājs uzņēmuma līmeņa lietojumprogrammām, jūs varat gūt labumu no Git izmantošanas. Tas palīdz jums sekot failiem, izmantojot sistemātisku versiju veidošanu. Izmantojot Git, ir vieglāk atgriezties pie vecākām koda versijām vai izveidot jaunas filiāles, lai eksperimentētu ar pašreizējo koda bāzi. Turklāt Git ir izplatīta versiju kontroles sistēma, kas nozīmē, ka jums nav vienmēr jāveido savienojums ar centrālo serveri, lai paveiktu darbu.Tālāk ir norādītas būtiskākās Git komandas, kas palīdzēs ikdienas uzdevumos. Vienkāršie piemēri sniegs jums izpratni par komandām, lai jūs varētu viegli atcerēties sintaksi, kad jums tās jālieto.

1. git pievienot

Git add komanda ļauj sākt izsekot failus un mapes savam Git repozitorijam un pārvietot tos uz pieturvietu. Lai padarītu tos pastāvīgus vēsturiskajos momentuzņēmumos, jums būs jāizmanto git command komanda.

Komandas lietošana ir vienkārša. Jūs varat izvēlēties pievienot failus un mapes atsevišķi vai izmantot Linux tipa zvaigznītes (*) glob operatoru, lai tos pievienotu grupās.

Ņemsim šo piemēru:

Pieņemsim, ka iepriekš minētajā gadījumā mēs jau esam pievienojuši ReadMe.txt. Bet pārējie faili nav pievienoti.

Pārbaudīsim statusu:

$ git statuss
Uz filiāles kapteini
Jūsu filiāle ir atjaunināta ar “origin / master”.
Nesekotie faili:
(izmantojiet 'git add … ”Iekļaut saistībās)
fails1.txt
fails2.txt
mape1 /

Faili un mapes ir sarkanā krāsā, kas nozīmē, ka tie netiek izsekoti. Mēs tos varam pievienot, izmantojot:

$ git pievienot failu1.txt fails2.txt mape1 / *

Ja mēs tagad pārbaudīsim statusu:

$ git statuss
Uz filiāles kapteini
Jūsu filiāle ir atjaunināta ar “origin / master”.
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
jauns fails: fails1.txt
jauns fails: fails2.txt
jauns fails: mape1 / fails3.txt
jauns fails: mape1 / fails4.txt

Git add komanda ir pievienojusi failus pieturvietai. Faili tiek glabāti pieturvietā, pirms tie tiek padarīti par pastāvīgiem, izmantojot saistību procesu.

2. git filiāle

Vietnē Git sazarošana ir vienkārša. Citās versiju vadības sistēmās tā bija dārga darbība. Bet Git algoritmi ir optimizēti sazarojumam. Tātad, kad vēlaties izveidot atsevišķu attīstības līniju, neuztraucoties par veiktspēju, varat izmantot komandu git branch.

Apskatīsim šādu piemēru.

$ git statuss
Uz filiāles kapteini
Jūsu filiāle ir atjaunināta ar “origin / master”.
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
jauns fails: fails1.txt
jauns fails: fails2.txt
jauns fails: mape1 / fails3.txt
jauns fails: mape1 / fails4.txt

Ievērojiet, ka mēs esam filiāles meistars. Izveidojot jaunu projektu, jūs nonāksiet filiāles meistarā. Varat arī izmantot komandu git branch -a, lai uzzinātu, kurā filiālē atrodaties:

$ git filiāle -a
* meistars

Iepriekš teiktais jums saka, ka ir tikai viena filiāle, ko sauc par “kapteini”, un zvaigznīte (*) nozīmē, ka atrodaties šajā filiālē.

Izveidosim jaunu filiāli ar nosaukumu “testēšana”:

$ git filiāles testēšana

Tagad mēs varam vēlreiz pārbaudīt filiāles:

$ git filiāle -a
* meistars
testēšana

Lai arī mēs joprojām esam “meistara” filiālē, mēs varam redzēt arī izveidoto jauno “testēšanas” filiāli. “Testēšanas” filiāle ir “master” filiāles kopija.

3. git kase

Git checkout komanda novirza jūs uz filiāli, lai jūs varētu strādāt ar tajā esošajiem resursiem. Jūs varat domāt par zariem kā upēm un strautiem. Izmantojot filiāli, jūs izveidojat jaunu straumi. Izmantojot komandu Checkout, jūs pārvietojaties šajā straumē.

Apmeklēsim “testa” filiāli no iepriekšējā piemēra:

$ git norēķinu pārbaude
Pāreja uz filiāles “testēšanu”

Tagad vēlreiz pārbaudīsim statusu un filiāles:

$ git statuss
Par filiāles testēšanu
neko apņemties, darba katalogs tīrs
$ git filiāle -a
meistars
* testēšana

No komandas git branch -a var redzēt, ka mēs esam pārcēlušies uz testēšanas filiāli.

4. git klons

Git clone komanda ļauj jums izveidot jebkura Git repozitorija kopiju. Tiklīdz klonējat repozitoriju, jaunā klonētā mape sāks lokāli sekot līdzi izmaiņām. Tā kā Git ir izplatīts, klons ir pilnīgi autonoma Git repozitorija.

Lai parādītu, kā darbojas klonēšana, izveidosim jaunu krātuvi:

$ mkdir dir1
$ cd dir1
$ mkdir myproject
$ cd myproject /
$ git init
Inicializēta tukša Git krātuve mapē / dir1 / myproject /.git /
$ pieskarieties ReadMe.txt
$ git saistīt -m 'Inicializēt manu krātuvi'
[master (root-saistīt) 5a0bd75] Inicializējiet manu krātuvi
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 ReadMe.txt

Iepriekš minētajā piemērā mēs esam izveidojuši Git repozitoriju ar nosaukumu 'myproject' mapē 'dir1'. Pieņemsim, ka šī ir mūsu galvenā krātuve. Tagad mēs vēlamies to kopēt un strādāt citur.

Izveidosim direktoriju ar nosaukumu “dir2” un klonēsim “myproject” repozitoriju. Mēs izmantojam git klonu

klonēt 'myproject':

$ mkdir dir2
$ cd dir2
$ git clone / dir1 / myproject /
Klonēšana “myproject” ..
izdarīts.
$ ls
myproject

Git clone komanda darbojas arī ar URL.

$ git klons https: // github.com / test / test.git

Varat arī mainīt klona nosaukumu, norādot to pēc Git repozitorija adreses:

$ git klons https: // github.com / test / test.git mytest

5. git apņemties

Git comm komanda tiek palaista pēc komandas git add. Savā git pievienošanas piemērā bijām pievienojuši failus izsekošanai, taču nebijām to nodevuši Git repozitorijam. Izsekošana paliek lokāla, līdz tiek apņemta. Kad veicat izmaiņas, tās kļūst par pastāvīgā ieraksta daļu.

Zemāk mēs vadām git toime -m komanda:

$ git saistīt -m 'Manu failu un mapju saistīšana'
[master 3ef57b3] Manu failu un mapju saistīšana
4 faili mainīti, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 fails.txt
izveidot režīmu 100644 fails2.txt
izveidot režīmu 100644 folder1 / file3.txt
izveidot režīmu 100644 folder1 / file4.txt

Ja komentāra ievietošanai neizmantojat opciju -m, Git atvērs noklusējuma teksta redaktoru un lūgs to. Komentāri tiek uzskatīti par labu versiju kontroles praksi. Tāpēc vienmēr apņemšanās laikā ievietojiet jēgpilnus komentārus.

6. git config

Komanda git config ļauj iestatīt dažādas jūsu git krātuves opcijas. Piemēram, jūs varat izmantot git config -global komandu, lai iegūtu un iestatītu lietotāju.vārds un lietotājs.e-pasts.

Lūk, kā jūs varat iestatīt vērtības:

$ git config - globāls lietotājs.nosaukums 'Zak H'
$ git config - globāls lietotājs.e-pasts zakh @ piemērs.com

Lūk, kā jūs varat pārbaudīt vērtības:

$ git config - globāls lietotājs.nosaukums
Zaks H
$ git config - globāls lietotājs.e-pasts
zakh @ piemērs.com

7. git dif

Git diff komanda palīdz jums redzēt atšķirības starp failiem un mapēm. Ja veicat izmaiņas failā, tas ir noderīgs rīks, lai ātri novērtētu veiktās izmaiņas.

Pieņemsim, ka mēs sākam savu darbu ar ReadMe.txt fails ar divām rindām. Tad mēs atbrīvojamies no otrās rindas un pievienojam trešo līniju.

Tagad, ja mēs palaidīsim komandu diff, tā parādīs atšķirības starp saistīto versiju un vietējo mainīto versiju pieturvietā. Lūk, kā tas izskatīsies:

$ git diff
diff --git a / ReadMe.txt b / ReadMe.txt
indekss 9475ddc… 1804904 100644
--- a / ReadMe.txt
+++ b / Lasīt.txt
@@ -1,2 +1,2 @@
1. rindiņa: mana pirmā rindiņa
-2. rindiņa: Mana otrā līnija
+3. rinda: Mana TREŠĀ līnija

1. līnija nav mainīta (balta), 2. līnija noņemta (sarkana) un pievienota 3. līnija (zaļa).
Jūs varat izmantot komandu diff, lai atrastu arī atšķirības starp konkrētām saistībām.

8. git atnest

Git fetch komanda iegūst jaunākos resursus no norādītās izcelsmes.

Apskatīsim piemēru. Pieņemsim, ka jums ir šāds nosacījums:

dir1 / myproject
dir2 / myproject (klonēts)

Mape 'dir2 / myproject' tiek klonēta no 'dir1 / myproject'. Ja kāds ir veicis izmaiņas “dir1 / myproject”, jūs varat iegūt šādas izmaiņas no “dir2 / myproject”:

$ git atnest izcelsmi
tālvadība: Objektu skaitīšana: 2, pabeigta.
tālvadība: Objektu saspiešana: 100% (2/2), pabeigta.
tālvadības pults: kopā 2 (delta 0), atkārtoti izmantota 0 (delta 0)
Objektu izpakošana: 100% (2/2), darīts.
No / dir2 /… / dir1 / myproject
5a0bd75… 1713734 master -> origin / master

Ir svarīgi atcerēties, ka git fetch komanda neapvieno izmaiņas. Automātiskai ienešanai un apvienošanai izmantojiet komandu git pull. Tad jūs varētu domāt, kāpēc vispār izmantot šo komandu. Var būt uzlabotas Git opcijas, kurās visas izmaiņas saņemat no izcelsmes servera un pēc tam izmaiņas lietojat tikai selektīvi noteiktiem failiem. Git fetch komanda ļauj to sasniegt. Tomēr tā ir uzlabota tēma, kuru varat atrast git fetch dokumentācijā.

9. git grep

Git grep komanda ļauj meklēt informāciju savā Git kokā. Šeit ir piemērs vārda “Line” meklēšanai mūsu git repozitorijā. Opcija -n vai --line-number parāda līniju numurus, kur Git atrod atbilstību:

$ git grep -n līnija
ReadMe.txt: 1: 1. rindiņa: mana pirmā rindiņa
ReadMe.txt: 2: 3. rindiņa: Mana TREŠĀ līnija

Varat veikt līdzīgu meklēšanu tik reižu, cik spēles ir, izmantojot opciju -c vai --count:

git grep -c līnija
ReadMe.txt: 2

Git grep izmantošanas Linux grep dēļ iemesls ir tas, ka git grep ir ātrāks git krātuvēs.

10. git žurnāls

Git log komanda parāda izpildes vēsturi.

$ git žurnāls
apņemties 171373479fc309846ef605fbe650933767afd0fb
Autors: Zaks H
Datums: trešdien, 21. novembrī 20:26:32, 2018 -0800
Pievienoti jauni faili
apņemties 5a0bd759506d20b2b989873258bf60d003aa3d36
Autors: Zaks H
Datums: trešdien, 21. novembrī 18:48:35, 2018 -0800
Inicializējiet manu krātuvi

Varat arī izmantot opciju --oneline, lai redzētu saīsinātu versiju. Saīsināto versiju ir vieglāk ievērot.

$ git log - tiešsaistē
1713734 Pievienoti jauni faili
5a0bd75 Inicializēt manu krātuvi

11. apvienot

Git sapludināšanas komanda apvieno filiāles.

Izveidosim jaunu krātuvi ar “main” un pēc tam izveidosim “test” zaru.

$ mkdir myproject
$ cd myproject
$ git init
Inicializēta tukša Git krātuve mapē / git_essentials / myproject /.git /
$ pieskarieties ReadMe.txt
$ git pievienot -A
$ git saistības -m 'Sākotnējā saistība'
[galvenais (sakne-apņemšanās) b31d4e1] Sākotnējā saistība
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 ReadMe.txt
$ git filiāles tests
$ git filiāle -a
* meistars
pārbaude
$ git norēķinu tests
Pārslēdzies uz filiāles “tests”

Sadaļā “tests” veiksim dažas izmaiņas:

$ pieskarieties File1.txt File2.txt
$ Ls
1. fails.txt File2.txt ReadMe.txt
$ git pievienot -A
$ git saistīt -m 'Pievienoti divi jauni faili'
[test 7e11910] Pievienoja divus jaunus failus
2 faili mainīti, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 File1.txt
izveidot režīmu 100644 File2.txt

Mēs testam esam pievienojuši divus failus.

$ git filiāle -a
meistars
* pārbaude
$ ls
1. fails.txt File2.txt ReadMe.txt
$ git norēķinu meistars
Pārslēgts uz filiāli “kapteinis”
$ git filiāle -a
* meistars
pārbaude
$ ls
ReadMe.txt

No iepriekš minētā redzam, ka File1.txt un File2.txt eksistē filiālē “test”, bet “master” nav.

Tagad apvienosimies.

$ git sapludināšanas tests
Atjaunina b31d4e1… 7e11910
Ātri uz priekšu
Fails1.txt | 0
File2.txt | 0
2 faili mainīti, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 File1.txt
izveidot režīmu 100644 File2.txt
$ ls
Fails1.txt File2.txt ReadMe.txt
$ git filiāle -a
* meistars
pārbaude

Tagad mums ir 'File1.txt 'un' File2.txt 'arī' master 'filiālē.

Piezīme: Iedomājieties apvienošanu kā vilkšanas darbību. Jums jāatrodas filiālē, kurā vēlaties apvienoties. Šajā gadījumā jūs atrodaties filiālē “galvenais”, velkot izmaiņas no “testa” filiāles.

12. git mv

Git mv ir īsinājumtaustiņa, lai palaistu git add un git rm komandas. To var izmantot, lai pārdēvētu failus.

Šeit ir piemērs:

$ git mv ReadMe.txt ReadMe.md
$ git statuss
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
pārdēvēts: ReadMe.txt -> ReadMe.md

13. git pull

Git pull komanda ir ļoti līdzīga git ielādei, izņemot to, ka apvienošana notiek automātiski.

Šeit ir piemērs, kā palaist git pull izcelsmi, piemēram, git get one (mēs izpildām vilkšanas pieprasījumu no klona, ​​lai iegūtu izmaiņas no sākotnējās Git repozitorija):

$ git pull izcelsme
tālvadība: Objektu skaitīšana: 3, pabeigta.
tālvadība: Objektu saspiešana: 100% (2/2), pabeigta.
tālvadības pults: kopā 3 (delta 0), atkārtoti izmantota 0 (delta 0)
Objektu izpakošana: 100% (3/3), darīts.
No / LearnGIT / git_essentials / myproject
7e11910… e67f932 master -> origin / master
Atjaunina 7e11910… e67f932
Ātri uz priekšu
1. fails.txt | 1 +
File2.txt | 1 +
3. fails.txt | 1 +
ReadMe.txt => Lasīt.md | 0
Mainīti 4 faili, 3 ievietojumi (+)
izveidot režīmu 100644 File3.txt
pārdēvēt ReadMe.txt => Lasīt Mani.md (100%)

Var redzēt, ka izmaiņas ir lejupielādētas no izcelsmes vietas un apvienotas klonā.

14. git push

Git push komandu izmanto, lai virzītu izmaiņas attālās krātuvēs. Šeit ir push komandas palaišanas piemērs:

$ git push izcelsmes meistars
Objektu skaitīšana: 2, izdarīts.
Delta saspiešana, izmantojot līdz 4 pavedieniem.
Objektu saspiešana: 100% (2/2), izdarīts.
Objektu rakstīšana: 100% (2/2), 242 baiti | 0 baiti / s, pabeigts.
Kopā 2 (delta 1), atkārtoti izmantota 0 (delta 0)
To / LearnGIT / git_essentials / myproject
e67f932… 90dc546 master -> master

Git push sākotnējā galvenā komanda sūta izmaiņas izcelsmes “galvenajam” atzaram (jūsu klonētajam Git repozitorijam) no klonētā repozitorija filiāles “master”. Vizuāli grūdiens izskatās šādi:

klonēts / meistars -> izcelsme / meistars

15. git rebase

Git rebase komanda palīdz mainīt filiāļu pamatu. Vispārējā apvienošanā notiek kaut kas līdzīgs šim:

Testa filiāle ir apvienota filiālē “master”, lai izveidotu jaunu saistību.

Pārdozēšanas gadījumā tas notiek šādi:

Izmaiņas no E un F mainītāju saraksta tiek pārrēķinātas un fiksētas galvenās filiāles beigās. Pārveidošana palīdz vienkāršot filiāles.

Pieņemsim, ka šāda situācija ir “meistara” nodaļā:

$ git log - tiešsaistē
7f573d8 Apņemties C: pievienots c.txt
795da3c Saistība B: pievienots b.txt
0f4ed5b Saistība A: pievienota a.txt

Un iezīme filiāle:

$ git log - tiešsaistē
8ed0c4e Apņemties F: modificēts b.txt
6e12b57 Apņemties E: modificēts a.txt
795da3c Saistība B: pievienots b.txt
0f4ed5b Saistība A: pievienota a.txt

Ja mēs atkārtoti bāzēsim, mēs saņemsim git rebase master:

$ git norēķināšanās funkcija
Pārslēgts uz filiāles funkciju
$ git rebase master

Pirmkārt, pārtiniet galvu, lai atkārtotu savu darbu virs tā ..

Pieteikšanās: apņemties E: modificēts a.txt
Pieteikšanās: apņemties F: modificēts b.txt
Pēc tam sapludiniet funkciju “master”.
$ git norēķinu meistars
Pāreja uz filiāles “kapteinis”
$ git sapludināšanas funkcija
Atjaunina 7f573d8… 9efa1a3
Ātri uz priekšu
a.txt | 1 +
b.txt | 1 +
Mainīti 2 faili, 2 ievietojumi (+)

Tagad, dodoties gan uz “master”, gan uz “feature”, redzēsit tos pašus žurnālus:

$ git log - tiešsaistē
9efa1a3 Apņemties F: modificēts b.txt
8710174 Apņemties E: modificēts a.txt
7f573d8 Apņemties C: pievienots c.txt
795da3c Saistība B: pievienots b.txt
0f4ed5b Saistība A: pievienota a.txt

Pārgrozīšanās viņus saspiedusi kopā.

Piezīme. Nekad neizmantojiet atkārtotu bāzēšanu publiskajos krātuvēs, jo izstrādātājiem rodas lielas apvienošanās problēmas.

16. git tālvadības pults

Git attālā komanda ļauj iestatīt krātuvei attālo serveri. Klonēšanas situācijā avota krātuve automātiski kļūst par tālvadības pulti.

Piemēram:

$ pwd
/ LearnGIT / git_essentials / test
$ git tālvadības pults -v
origin / LearnGIT / git_essentials / myproject (ielādēt)
origin / LearnGIT / git_essentials / myproject (push)

Iepriekš minētais parāda, ka attālais serveris testēšanai ir vēl viena mape ar nosaukumu 'myproject'. Iemesls ir tāds, ka manam projektam tika klonēts “tests”.

Bet attālajam serverim nav jābūt lokālam. Jums var būt kaut kas līdzīgs šim ar URL:

$ git tālvadības pults -v
izcelsme https: // github.com / zakh / myproject (ielādēt)
izcelsme https: // github.com / zakh / myproject (push)

Git attālo repozitoriju var iestatīt, izmantojot komandu git remote add :

$ git tālvadības pults pievienot izcelsmi https: // github.com / zakh / myproject

Tas saistīs jūsu repo ar izcelsmi, lai jūs varētu ienest un nospiest.

17. git reset

Git reset ļauj atcelt pievienotos failus no skatuves.

Pieņemsim, ka jūs pievienojāt faila testu.txt 'uz jūsu repozitoriju:

$ pieskāriena tests.txt
$ git pievienot -A
$ git statuss
Uz filiāles kapteini
Jūsu filiāle ir atjaunināta ar “origin / master”.
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
jauns fails: tests.txt

Tomēr jūs nolemjat, ka nevēlaties izsekot testu.txt 'vairs. Jūs varat izmantot git reset head komanda atiestatīt failu:

$ git reset HEAD tests.txt

Pārbaudot statusu, fails atkal tiek izsekots:

$ git statuss
Uz filiāles kapteini
Jūsu filiāle ir atjaunināta ar “origin / master”.
Nesekotie faili:
(izmantojiet 'git add ... ”iekļaut saistībās)
pārbaude.txt

Faila pārbaude.txt 'vairs netiek izsekots.

18. git atgriezties

Git revert komanda ļauj mainīt izmaiņas, izmantojot saistīšanas hash numuru.

$ echo 'Test 1' >> MyFile.txt
$ git pievienot -A
$ git saistīt -m 'Pievienotās izmaiņas 1'
[master 78a8277] Pievienoja 1. izmaiņu
Mainīti 2 faili, 1 ievietots (+)
izveidot režīmu 100644 MyFile.txt
izveidot režīmu 100644 tests.txt
$ kaķis MyFile.txt
1. tests
$ echo 'Test 2' >> MyFile.txt
$ git pievienot -A
$ git saistīt -m 'Pievienotās izmaiņas 2'
[master a976e9c] Pievienoja 2. maiņu
1 fails mainīts, 1 ievietots (+)
$ kaķis MyFile.txt
1. tests
2. tests
$ git log - tiešsaistē
a976e9c pievienota 2. maiņa
78a8277 Pievienota 1. maiņa
90dc546 Pievienoja failu
e67f932 Pievienoti jauni faili
7e11910 Pievienoja divus jaunus failus
b31d4e1 Sākotnējā saistība

Mēs izveidojām 'MyFile.txt 'un veica divas izmaiņas, tāpēc failā ir rindas' Test 1 'un' Test 2 '. Bet mēs nolēmām, ka mēs nevēlamies otro apņemšanos. Tātad mēs atradām tam saistošo hash (a976e9c). Mēs varam izmantot git revert lai atbrīvotos no apņemšanās:

$ git revert a976e9c
[master 4f270e7] Atjaunot “Pievienotās izmaiņas 2”
1 fails mainīts, 1 dzēsts (-)
$ git log - tiešsaistē
4f270e7 Atsaukt 'Pievienotās izmaiņas 2'
a976e9c pievienota 2. maiņa
78a8277 Pievienota 1. maiņa
90dc546 Pievienoja failu
e67f932 Pievienoti jauni faili
7e11910 Pievienoja divus jaunus failus
b31d4e1 Sākotnējā saistība
$ kaķis MyFile.txt
1. tests

Mēs redzam, ka tika izveidots jauns saistības jaucējraksts, kas atcēla līnijas “Test 2” saistību izpildi. Tagad failā ir tikai rinda “Test 1”.

19. git rm

Git rm komanda iestata failus turpmākai dzēšanai. Tas ievieto izdzēšamos failus pieturvietā.

$ git rm tests.txt
rm 'tests.txt '
$ git statuss
Uz filiāles kapteini
Jūsu filiāle ar 3 saistībām apsteidz 'izcelsmi / meistaru'.
(izmantojiet 'git push', lai publicētu vietējās saistības)
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
svītrots: tests.txt

Lai dzēšana stātos spēkā, jums ir jāveic izmaiņas.

20. git atlicināt

Git stash komanda ļauj uz laiku atteikties no darba, kuru vēl neesat gatavs veikt.
Pieņemsim, ka strādājat krātuvē ar šādiem failiem:

$ ls
Džons.txt Marija.txt
Jūs vēlaties mainīt šos failus, lai tie būtu vairāk balstīti uz projektiem. Tātad jūs sākat ar:
$ git mv Džons.txt ProjectFile1.txt
$ ls
Marija.txt ProjectFile1.txt
$ git statuss
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
pārdēvēts: Jānis.txt -> ProjectFile1.txt

Pārdēvēšanas un atjaunināšanas vidū 'John.txt 'uz' ProjectFile1.txt ', jūs saņemat pieprasījumu kaut ko mainīt projektā. Bet jūs neesat gatavs iesniegt 'ProjectFile1.txt '. Tātad jūs to atlicināt.

$ git atlicināt

Saglabāts galvenā direktorija darba direktorija un indeksa stāvokļa WIP: f0b5a01 Init John and Mary

HEAD tagad atrodas f0b5a01 Init Jānis un Marija

$ ls
Džons.txt Marija.txt

Jūsu vietējā darba vide ir atgriezusies tur, kur jūs bijāt, pirms veicāt ar projektu pamatotas izmaiņas. Pēc tam, ievērojot pārtraukumu, tā vietā, lai atgrieztos pie 'John.txt ', jūs nolemjat strādāt pie' Mary.txt 'fails tagad:

$ git mv Marija.txt ProjectFile2.txt
$ git statuss
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
pārdēvēts: Marija.txt -> ProjectFile2.txt
$ ls
Džons.txt ProjectFile2.txt

Jūs atkal pārtraucat un jūs atlicināt savu jauno darbu pie Marijas.txt ':

$ git atlicināt
Saglabāts galvenā direktorija darba direktorija un indeksa stāvokļa WIP: f0b5a01 Init John and Mary
HEAD tagad atrodas f0b5a01 Init Jānis un Marija
$ ls
Džons.txt Marija.txt

Pēc pārtraukuma darba pabeigšanas jūs pārbaudāt atlicināt sarakstu:

$ git atlicināt saraksts
atlicināt @ 0: noslaucīt meistaru: f0b5a01 Init Jānis un Marija
atlicināt @ 1: noslaucīt meistaru: f0b5a01 Init Jānis un Marija

Jums ir divi nepabeigti produkti (WIP). Pirmo reizi, kad jūs atlicināt atlicināt, jūs saņemat jaunāko "Mary.txt 'izmaiņas:

$ git atlicināt pop
Marijas noņemšana.txt
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
jauns fails: ProjectFile2.txt
Izmaiņas, kas nav notikušas saistībām:
(izmantojiet 'git add / rm … ", Lai atjauninātu saistības)
(izmantojiet 'git checkout -- … ”, Lai izmestu izmaiņas darba direktorijā)
svītrots: Marija.txt
Nomesti refs / atlicināt @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)

Otro reizi, kad jūs atlicināt atlicināt, jūs saņemat "John.ar txt saistītās izmaiņas:

$ git atlicināt pop
Jāņa noņemšana.txt
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
jauns fails: ProjectFile1.txt
jauns fails: ProjectFile2.txt
Izmaiņas, kas nav notikušas saistībām:
(izmantojiet 'git add / rm … ”, Lai atjauninātu saistības)
(izmantojiet 'git checkout -- … ”, Lai izmestu izmaiņas darba direktorijā)
svītrots: Jānis.txt
svītrots: Marija.txt
Nomesti refs / atlicināt @ 0 (1e1968854fb5ca4d609e577822dc3280dbf928f6)
$ ls
ProjectFile1.txt ProjectFile2.txt

Un jums ir nepabeigtais darbs ProjectFile1.txt 'un' ProjectFile2.txt 'atpakaļ.

Tātad git stash komanda palīdz jums atlicināt savu darbu, lai jūs varētu pie tā atgriezties vēlāk.

21. git statuss

Git statusa komanda parāda atšķirību starp pašreizējiem failiem un HEAD apņemšanos.

Šeit ir piemērs:

$ git statuss
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
pārdēvēts: File2.txt -> File3.txt
Izmaiņas, kas nav notikušas saistībām:
(izmantojiet 'git add … ", Lai atjauninātu saistības)
(izmantojiet 'git checkout -- … ”, Lai izmestu izmaiņas darba direktorijā)
modificēts: File1.txt

Tas parāda, ka 'File2.txt 'tiek pārdēvēts par' File3.txt ', kas ir gatavs saistībām, bet izmaiņas failā1.txt 'vēl nav iestudējuma zonā.

Tātad, mēs pievienojam visu:

$ git pievienot -A

Tagad, kad mēs pārbaudām statusu:

$ git statuss
Uz filiāles kapteini
Veicamās izmaiņas:
(izmantojiet 'git reset HEAD … ”Līdz skatuvei)
modificēts: File1.txt
pārdēvēts: File2.txt -> File3.txt

Mēs redzam, ka visas izmaiņas ir gatavas saistībām.

22. git tags

Git tag komanda palīdz jums izveidot tagus jūsu svarīgākajiem vēsturiskajiem punktiem. To parasti izmanto versiju numuru iestatīšanai.

Git tag komanda parādīs pašreizējos pieejamos tagus:

$ git tags
v1.0
v2.0

Jūs varat atzīmēt ar komandas formāta git tagu :

$ git tags v3.0

Lai redzētu, kas ir tagā, varat izmantot komandu git show:

$ git šovs v1.0
izdarīt 61e9e8aa1b98b2a657303e6822b291d2374314b5
Autors: Zaks H
Datums: Otrdiena, 22. novembris, 01:06:42, 2018 -0800
Vispirms apņemies
diff --git a / 1.txt b / 1.txt
jauns failu režīms 100644
indekss 0000000… e69de29

Varat arī atzīmēt, izmantojot saistības hash un komandas formāta git tagu :

$ git log - tiešsaistē
374efe9 Pārveidots fails
a621765 Pievienot
6d6ed84 Otrā apņemšanās
61e9e8a Vispirms apņemies
$ git tags v4.0 a621765
$ git šovs v4.0
izdarīt a6217650a2c7b2531ecb9c173ba94bd4b3ba7abd
Autors: Zaks H
Datums: Otrdiena, 22. novembris 01:15:55 2018 -0800
Pievienot
diff --git a / 1.txt b / 1.txt
indekss e69de29… 587be6b 100644
--- a / 1.txt
+++ b / 1.txt
@@ -0,0 +1 @@

Noslēgumā

Jebkurai komandai varat izmantot git -h, lai iegūtu vairāk informācijas.

Turpmāka izpēte

  • https: // git-scm.com / docs
Atdariniet peles klikšķus, virzot kursoru, izmantojot operētājsistēmā Windows 10 bezklikšķu peli
Peles vai tastatūras lietošana nepareizā pozā, ja to lieto pārmērīgi daudz, var izraisīt daudz veselības problēmu, tostarp spriedzi, karpālā kanāla si...
Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...
Kontrolējiet un pārvaldiet peles kustību starp vairākiem monitoriem sistēmā Windows 10
Dual Display Mouse Manager ļauj kontrolēt un konfigurēt peles kustību starp vairākiem monitoriem, palēninot tās kustību robežas tuvumā. Windows 10/8 ļ...