Git

22 olulist Git-käsku

22 olulist Git-käsku
Git on muutunud põhiliseks versiooni juhtimissüsteemiks. Giti populaarsuse kasvu võib seostada selle kiiruse, väleduse ja mitmekülgsusega. Olenemata sellest, kas olete vabakutseline veebiarendaja või ettevõtte tasemel rakenduste tarkvara kujundaja, saate Giti kasutamisest kasu. See aitab teil faile süsteemsete versioonide abil jälgida. Git hõlbustab vanemate koodiversioonide taastamist või uute harude loomist praeguse koodibaasi katsetamiseks. Samuti on Git hajutatud versioonikontrollisüsteem, mis tähendab, et töö tegemiseks ei pea te alati ühendust keskserveriga.Allpool on olulised Giti käsud, mis aitavad teie igapäevaseid ülesandeid täita. Lihtsad näited annavad teile mõista käske, nii et saate süntaksi lihtsalt meelde jätta, kui peate neid kasutama.

1. git lisada

Git add-käsk võimaldab teil alustada oma Giti-hoidla failide ja kaustade jälgimist ning teisaldab need lavastusalale. Nende ajalooliste hetktõmmiste püsivaks muutmiseks peate kasutama käsku git commite.

Käsu kasutamine on lihtne. Võite failide ja kaustade lisamise ükshaaval või rühmadesse lisamiseks kasutada Linuxi tüüpi tärn (*) glob -operaatorit.

Võtame allpool toodud näite:

Oletame, et ülaltoodud juhul oleme ReadMe juba lisanud.txt. Kuid ülejäänud faile pole lisatud.

Kontrollime olekut:

$ git staatus
Filiaali kaptenil
Teie haru on ajakohane ettevõttega 'origin / master'.
Jälgimata failid:
(kasuta 'git add … "Lisada kohustusesse)
fail1.txt
fail2.txt
kaust1 /

Failid ja kaustad on punasega, mis tähendab, et neid ei jälgita. Saame need lisada, kasutades:

$ git lisa fail1.txt-fail2.txt kaust1 / *

Kui kontrollime olekut kohe:

$ git staatus
Filiaali kaptenil
Teie haru on ajakohane tootega 'origin / master'.
Tehtavaid muudatusi:
(kasuta 'git reset HEAD ... "lavalaudadele)
uus fail: fail1.txt
uus fail: fail2.txt
uus fail: kaust1 / fail3.txt
uus fail: kaust1 / fail4.txt

Git add-käsk on lisanud failid lavastusalale. Faile hoitakse lavastuspiirkonnas, enne kui need kinnitamisprotsessi kaudu püsivaks muudetakse.

2. git haru

Gitis on hargnemine lihtne. Teistes versioonide juhtimissüsteemides oli see kallis toiming. Kuid Giti algoritmid on hargnemise jaoks optimeeritud. Nii saate käsku git branch kasutada alati, kui soovite luua eraldi arendusliini, muretsemata jõudluse pärast.

Vaatame järgmist näidet.

$ git staatus
Filiaali kaptenil
Teie haru on ajakohane ettevõttega 'origin / master'.
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
uus fail: fail1.txt
uus fail: fail2.txt
uus fail: kaust1 / fail3.txt
uus fail: kaust1 / fail4.txt

Pange tähele, et oleme filiaali kapten. Uue projekti loomisel jõuate haruhaldurisse. Samuti saate käsu git branch -a abil teada saada, millises harus olete

$ git filiaal -a
* meister

Ülaltoodu ütleb teile, et seal on ainult üks haru, mida nimetatakse "meistriks" ja tärn (*) tähendab, et olete sellel harul.

Loome uue haru nimega testimine:

filiaali $ git testimine

Nüüd saame oksad uuesti kontrollida:

$ git filiaal -a
* meister
testimine

Ehkki oleme endiselt "peamises" harus, näeme ka loodud uut "testimis" haru. „Testimise” haru on koopia „master” harust.

3. git kassasse

Git checkouti käsk viib teid harusse, et saaksite sealsete ressurssidega tegeleda. Võite mõelda harudele kui jõgedele ja ojadele. Filiaaliga loote uue voo. Kassakäsu abil liigute sellesse voogu.

Vaatame eelmise näite filiaali „testimine”:

$ git kassade testimine
Üleminek haru testimisele

Nüüd kontrollime olekut ja harusid uuesti:

$ git staatus
Filiaali testimisel
pole midagi siduda, töökataloog on puhas
$ git filiaal -a
meister
* testimine

Git-haru -a käsust näete, et oleme liikunud testimise harusse.

4. git kloon

Git klooni käsk võimaldab teil teha koopia igast Giti hoidlast. Niipea, kui kloonite hoidla, hakkab uus kloonitud kaust muudatusi kohapeal jälgima. Kuna Git on levitatud, on kloon täiesti autonoomne Giti hoidla.

Kloonimise toimimise näitamiseks loome uue hoidla:

$ mkdir dir1
$ cd dir1
$ mkdir myproject
$ cd myproject /
$ git init
Initsialiseeritud tühi Giti hoidla kataloogis / dir1 / myproject /.git /
$ puudutage ReadMe.txt
$ git engel -m 'Initsialiseeri minu hoidla'
[master (root-toime) 5a0bd75] Initsialiseeri minu hoidla
1 fail muudetud, 0 sisestust (+), 0 kustutust (-)
loomisrežiim 100644 ReadMe.txt

Ülaltoodud näites oleme loonud kausta 'dir1' Giti hoidla nimega 'myproject'. Oletame, et see on meie peamine hoidla. Nüüd tahame sellest koopia teha ja mujal töötada.

Loome kataloogi nimega 'dir2' ja kloonime hoidla 'myproject'. Kasutame gitklooni

'myproject' kloonimiseks:

$ mkdir dir2
$ cd dir2
$ git kloon / dir1 / myproject /
Kloonimine "myprojecti" ..
tehtud.
$ ls
myproject

Git klooni käsk töötab ka URL-iga.

$ giti kloon https: // github.com / test / test.git

Samuti saate klooni nime muuta, määrates selle Giti hoidla aadressi järele:

$ giti kloon https: // github.com / test / test.git mytest

5. git pühenduma

Git comm käsk käivitatakse pärast käsk git add. Oma giti lisamise näites olime failid jälgimiseks lisanud, kuid me polnud seda Giti hoidlasse sidunud. Jälgimine jääb kohalikuks seni, kuni kohustus on tehtud. Kui teete muudatused, muutuvad need püsiregistri osaks.

Allpool käivitame git toime -m käsk:

$ git engel -m 'Minu failide ja kaustade sidumine'
[master 3ef57b3] Minu failide ja kaustade sidumine
4 faili muudetud, 0 sisestust (+), 0 kustutust (-)
loomisrežiim 100644 fail1.txt
loomisrežiim 100644 fail2.txt
loomisrežiim 100644 kaust1 / fail3.txt
loomisrežiim 100644 kaust1 / fail4.txt

Kui te ei kasuta kommentaari lisamiseks valikut -m, avab Git teie vaiketekstiredaktori ja küsib seda. Kommentaare peetakse heaks versioonihalduse tavaks. Nii et pane oma pühendumisse alati sisukaid kommentaare.

6. git config

Git config käsk võimaldab teil oma giti hoidla jaoks seadistada erinevaid võimalusi. Näiteks võite kasutada git config -global kasutaja hankimiseks ja seadistamiseks.nimi ja kasutaja.e-post.

Väärtuste määramiseks toimige järgmiselt

$ git config - globaalne kasutaja.nimi 'Zak H'
$ git config - globaalne kasutaja.e-post zakh @ näide.com

Väärtusi saate kontrollida järgmiselt

$ git config - globaalne kasutaja.nimi
Zak H
$ git config - globaalne kasutaja.e-post
zakh @ näide.com

7. git dif

Git diff käsk aitab teil näha erinevusi failide ja kaustade vahel. Kui teete failis muudatusi, on see kasulik tööriist tehtud muudatuste kiireks hindamiseks.

Oletame, et alustame oma tööd ReadMe-ga.kahe reaga txt-fail. Siis vabaneme teisest reast ja lisame kolmanda rea.

Kui käivitame käsu diff, näitab see erinevusi määratud versiooni ja kohaliku muudetud versiooni vahel lavastuspiirkonnas. Kuidas see välja näeb:

$ git dif
diff --git a / ReadMe.txt b / ReadMe.txt
indeks 9475ddc… 1804904 100644
--- a / ReadMe.txt
+++ b / ReadMe.txt
@@ -1,2 +1,2 @@
1. rida: minu esimene rida
-2. rida: minu teine ​​rida
+3. rida: minu KOLMAS rida

1. rida on muutmata (valge), rida 2 eemaldatakse (punane) ja rida 3 on lisatud (roheline).
Konfiguratsioonide erinevuste leidmiseks võite kasutada käsku diff.

8. git tooma

Git fetch käsk saab määratud päritolust uusimad ressursid.

Vaatame ühte näidet. Oletame, et teil on järgmine tingimus:

dir1 / myproject
dir2 / myproject (kloonitud)

Kaust 'dir2 / myproject' kloonitakse kataloogist 'dir1 / myproject'. Kui keegi on teinud muudatusi 'dir1 / myproject', saate need muudatused selliselt hankida 'dir2 / myproject' seest:

$ git tooma päritolu
kaugjuhtimine: Objektide loendamine: 2, tehtud.
kaugjuhtimine: Objektide tihendamine: 100% (2/2), valmis.
kaugjuhtimispult: kokku 2 (delta 0), taaskasutatud 0 (delta 0)
Objektide lahtipakkimine: 100% (2/2), valmis.
Alates / dir2 /… / dir1 / myproject
5a0bd75… 1713734 master -> päritolu / master

Oluline on meeles pidada, et käsk git fetch ei ühenda muudatusi. Automaatse toomise ja ühendamise jaoks kasutage käsku git pull. Siis võite mõelda, miks seda käsku üldse kasutada. Võimalik, et on olemas Giti täpsemad suvandid, kus saate kõik muudatused päritoluserverist ja rakendate muudatusi seejärel ainult teatud failidele valikuliselt. Git fetch käsk võimaldab teil seda saavutada. Kuid see on edasijõudnud teema, mille leiate git-i toomise dokumentatsioonist.

9. git grep

Git grep käsk võimaldab teil teavet oma Git-puust otsida. Siin on näide sõna „Line” otsimisest meie git-hoidlas. Valik -n või --line-number näitab rea numbreid, kus Git leiab vaste:

$ git grep -n rida
Loe mind.txt: 1: 1. rida: minu esimene rida
Loe mind.txt: 2: Rida 3: Minu KOLMAS rida

Sarnase otsingu saate käivitada mitu korda, kui mäng on olemas, kasutades valikuid -c või --count:

git grep -c rida
Loe mind.txt: 2

Git grepi kasutamine Linuxi grepi kohal on see, et git grep on git-hoidlate jaoks kiirem.

10. git logi

Git logi käsk näitab teile pühendamise ajalugu.

$ git logi
toime panema 171373479fc309846ef605fbe650933767afd0fb
Autor: Zak H
Kuupäev: 21. nov 20:26:32 2018 -0800
Uued failid on lisatud
pühenduma 5a0bd759506d20b2b989873258bf60d003aa3d36
Autor: Zak H
Kuupäev: neljapäev 21. november 18:48:35 2018 -0800
Initsialiseeri minu hoidla

Lühendatud versiooni nägemiseks võite kasutada ka valikut --oneline. Lühendatud versiooni on lihtsam jälgida.

$ git log - oneline
1713734 Lisatud uued failid
5a0bd75 Vormista minu hoidla

11. git ühendada

Git merge käsk ühendab harud.

Loome uue hoidla 'main' ja seejärel loome 'test' haru.

$ mkdir myproject
$ cd myproject
$ git init
Initsialiseeritud tühi Giti hoidla kataloogis / git_essentials / myproject /.git /
$ puudutage ReadMe.txt
$ git lisa -A
$ git pühendus -m 'Esmane pühendumine'
[master (root-toime) b31d4e1] Esmane pühendumine
1 fail muudetud, 0 sisestust (+), 0 kustutust (-)
loomisrežiim 100644 ReadMe.txt
filiaali test $ git
$ git filiaal -a
* meister
test
$ git kassatest
Üleminek haru testile

Tehke harus 'test' mõned muudatused:

$ puudutage File1.txt File2.txt
Ls
Fail1.txt File2.txt ReadMe.txt
$ git lisa -A
$ git toime -m 'Lisatud kaks uut faili'
[test 7e11910] Lisas kaks uut faili
2 faili muudetud, 0 sisestust (+), 0 kustutust (-)
loomisrežiim 100644 Fail1.txt
loomisrežiim 100644 File2.txt

Oleme testile lisanud kaks faili.

$ git filiaal -a
meister
* test
$ ls
Fail1.txt File2.txt ReadMe.txt
kassas $ git master
Üleminek harule 'master'
$ git filiaal -a
* meister
test
$ ls
Loe mind.txt

Eeltoodust näeme, et File1.txt ja File2.txt on olemas 'test' harus, kuid mitte 'master'.

Ühendame nüüd.

$ git ühendamise test
B31d4e1… 7e11910 värskendamine
Kiiresti edasi
Fail1.txt | 0
Fail2.txt | 0
2 faili muudetud, 0 sisestust (+), 0 kustutust (-)
loomisrežiim 100644 Fail1.txt
loomisrežiim 100644 File2.txt
$ ls
Fail1.txt File2.txt ReadMe.txt
$ git filiaal -a
* meister
test

Nüüd on meil fail1.txt 'ja' File2.txt 'ka' master 'harus.

Märkus. Mõelge ühendamisest kui tõmbeoperatsioonist. Peate olema selles harus, kuhu soovite sulanduda. Sel juhul olete harus 'kapten', tõmmates muudatusi harust 'test'.

12. git mv

Git mv on otsetee käsk git add ja git rm käskude käivitamiseks. Seda saab kasutada failide ümbernimetamiseks.

Siin on näide:

$ git mv ReadMe.txt ReadMe.md
$ git staatus
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
ümber nimetatud: ReadMe.txt -> ReadMe.md

13. git pull

Git pull-käsk sarnaneb palju git-tõmbega, välja arvatud see, et liitmine toimub automaatselt.

Siin on näide git-tõmbe alguspunkti käitamisest nagu git-i toomine (käivitame kloonilt tõmbetaotluse, et saada muudatusi algsest Giti hoidlast):

$ git pull päritolu
kaugjuhtimine: Objektide loendamine: 3, valmis.
kaugjuhtimine: Objektide tihendamine: 100% (2/2), valmis.
kaugjuhtimispult: kokku 3 (delta 0), taaskasutatud 0 (delta 0)
Objektide lahtipakkimine: 100% (3/3), valmis.
Alates / LearnGIT / git_essentials / myproject
7e11910… e67f932 master -> päritolu / master
7e11910… e67f932 värskendamine
Kiiresti edasi
Fail1.txt | 1 +
Fail2.txt | 1 +
Fail3.txt | 1 +
Loe mind.txt => Loe mind.md | 0
4 faili muudetud, 3 sisestust (+)
loomisrežiim 100644 File3.txt
nimetage ReadMe ümber.txt => Loe mind.md (100%)

Näete, et muudatused on päritolust alla laaditud ja klooni ühendatud.

14. git push

Git push käsku kasutatakse kaughoidlate muudatuste tõukamiseks. Siin on näide tõukekäsu käivitamisest:

$ git push päritolumeister
Objektide loendamine: 2, tehtud.
Delta tihendamine kuni 4 niidi abil.
Objektide tihendamine: 100% (2/2), valmis.
Objektide kirjutamine: 100% (2/2), 242 baiti | 0 baiti / s, valmis.
Kokku 2 (delta 1), taaskasutatud 0 (delta 0)
To / LearnGIT / git_essentials / myproject
e67f932… 90dc546 master -> master

Git push originaali käsk saadab kloonitud hoidla 'master' harust muudatused päritolu 'master' harule (teie kloonitud Giti hoidla). Visuaalselt näeb tõuge välja selline:

kloonitud / master -> päritolu / master

15. git uuesti

Git rebase käsk aitab teil muuta harude alust. Üldises ühendamises juhtub midagi sellist:

Uue pühenduse loomiseks on testharu liidetud haru haruks.

Ümberpaigutamisel juhtub nii:

E ja F muutujate muudatused arvutatakse ümber ja lukustatakse põhiharu lõpus. Uuesti alustamine aitab harusid lihtsustada.

Oletame, et meil on selline olukord "kapteni" harus:

$ git log - oneline
7f573d8 Kohustage C: lisati c.txt
795da3c Kohustus B: lisatud b.txt
0f4ed5b Kohustus A: lisatud a.txt

Ja funktsioon haru:

$ git log - oneline
8ed0c4e Kohustage F: muudetud b.txt
6e12b57 Kohusta E: muudetud a.txt
795da3c Kohustus B: lisatud b.txt
0f4ed5b Kohustus A: lisatud a.txt

Kui me uuesti alustame, saame git rebase master:

kassas $ git funktsioon
Üleminek harufunktsioonile
$ git rebase master

Esiteks kerige pea üles, et oma tööd selle peal uuesti mängida ..

Taotlemine: Pange E: muudetud a.txt
Kandideerimine: Kohustage F: muudetud b.txt
Seejärel ühendage funktsioon „master”.
kassas $ git master
Üleminek harule 'master'
Ühendamise funktsioon $ git
7f573d8… 9efa1a3 värskendamine
Kiiresti edasi
a.txt | 1 +
b.txt | 1 +
2 faili muudetud, 2 sisestust (+)

Nüüd, kui lähete nii "master" kui ka "feature" harusse, näete samu logisid:

$ git log - oneline
9efa1a3 Kohusta F: muudetud b.txt
8710174 Kohustus E: muudetud a.txt
7f573d8 Kohustage C: lisati c.txt
795da3c Kohustus B: lisatud b.txt
0f4ed5b Kohustus A: lisatud a.txt

Rebaseerimine on nad kokku surunud.

Märkus. Ärge kunagi kasutage avalikes hoidlates taaskäivitamist, kuna arendajatel tekib suuri ühinemisprobleeme.

16. git pult

Git-kaugkäsk võimaldab teil oma hoidla jaoks seadistada kaugserveri. Kloonimissituatsioonis muutub allikahoidla automaatselt kaugjuhtimiseks.

Näiteks:

$ pwd
/ LearnGIT / git_essentials / test
$ git kaugjuhtimispult -v
origin / LearnGIT / git_essentials / myproject (tooma)
origin / LearnGIT / git_essentials / myproject (push)

Ülaltoodud näitab, et 'test' kaugserver on teine ​​kaust nimega 'myproject'. Põhjus on see, et minu projekti jaoks klooniti „test”.

Kuid kaugserver ei pea olema kohalik. URL-iga võib olla midagi sellist:

$ git kaugjuhtimispult -v
päritolu https: // github.com / zakh / myproject (tooma)
päritolu https: // github.com / zakh / myproject (push)

Git-kaughoidla saate seadistada käsuga git remote add :

$ git pult lisage päritolu https: // github.com / zakh / myproject

See ühendab teie repo päritoluga, nii et saate seda tuua ja lükata.

17. git lähtestamine

Giti lähtestamine võimaldab teil lisatud faile lava tühistada.

Oletame, et lisasite faili 'test.txt 'oma hoidlasse:

$ puutetesti.txt
$ git lisa -A
$ git staatus
Filiaali kaptenil
Teie haru on ajakohane tootega 'origin / master'.
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
uus fail: test.txt

Siiski otsustate, et te ei soovi testi jälgida.txt 'enam. Võite kasutada git reset head käsk faili lava eemaldamiseks:

$ git reset HEAD test.txt

Oleku kontrollimisel on fail jällegi jälitamatu:

$ git staatus
Filiaali kaptenil
Teie haru on ajakohane tootega 'origin / master'.
Jälgimata failid:
(kasuta 'git add … "Lisada kohustusesse)
test.txt

Faili test.txt 'ei jälgi enam.

18. git tagasi

Git revert-käsk võimaldab muudatusi ümber pöörata, kasutades käsurea numbrit.

$ echo 'Test 1' >> MyFile.txt
$ git lisa -A
$ git sitout -m 'Lisatud muudatus 1'
[master 78a8277] Lisas muudatuse 1
2 faili muudetud, 1 sisestus (+)
loomisrežiim 100644 MyFile.txt
loomisrežiimi 100644 test.txt
$ kass MyFile.txt
1. test
$ echo 'Test 2' >> MyFile.txt
$ git lisa -A
$ git toime -m 'Lisatud muudatus 2'
[master a976e9c] Lisas muudatuse 2
1 fail muudetud, 1 sisestus (+)
$ kass MyFile.txt
1. test
2. test
$ git log - oneline
a976e9c lisas muudatuse 2
78a8277 Lisatud muudatus 1
90dc546 lisas faili
e67f932 Lisas uusi faile
7e11910 lisas kaks uut faili
b31d4e1 Esialgne kohustus

Lõime 'MyFile.txt "ja tegi kaks muudatust, nii et failil on read" Test 1 "ja" Test 2 ". Kuid otsustasime, et me ei taha teist pühenduda. Niisiis leidsime selle jaoks sidumise räsi (a976e9c). Saame kasutada git-pöördet pühendumisest vabaneda:

$ git revert a976e9c
[master 4f270e7] Ennista 'Lisatud muudatus 2'
1 fail muudetud, 1 kustutatud (-)
$ git log - oneline
4f270e7 Ennista 'Lisatud muudatus 2'
a976e9c lisas muudatuse 2
78a8277 Lisatud muudatus 1
90dc546 lisas faili
e67f932 Lisas uusi faile
7e11910 lisas kaks uut faili
b31d4e1 Esialgne kohustus
$ kass MyFile.txt
1. test

Näeme, et loodi uus pühenduse räsi, mis tühistas rea 2. testimise. Failil on nüüd ainult rida „Test 1”.

19. git rm

Git rm käsuga seadistatakse failid edaspidiseks kustutamiseks. See paneb kustutatavad failid peatuspiirkonda.

$ git rm test.txt
rm 'test.txt '
$ git staatus
Filiaali kaptenil
Teie haru edestab 3 kohustust 'origin / master' ees.
(kasutage kohalike kohustuste avaldamiseks 'git push')
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
kustutatud: test.txt

Kustutamise jõustumiseks peate muudatused tegema.

20. git stash

Git stash käsk võimaldab ajutiselt loobuda tööst, mida te pole veel valmis tegema.
Oletame, et töötate järgmiste failidega hoidlas:

$ ls
John.txt Maarja.txt
Soovite muuta need failid projektipõhisemaks. Nii et alustate:
$ git mv John.txt ProjectFile1.txt
$ ls
Maarja.txt ProjectFile1.txt
$ git staatus
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
ümber nimetatud: Johannes.txt -> ProjectFile1.txt

'Johni ümbernimetamise ja värskendamise keskel.txt 'to' ProjectFile1.txt ', saate taotluse projektis midagi muuta. Kuid te pole veel valmis faili „ProjectFile1” esitama.txt '. Nii et te jätate selle kinni.

$ git kähmlus

Salvestatud töökataloog ja registriseisundi WIP isandale: f0b5a01 Init John ja Mary

HEAD on nüüd f0b5a01 Init John ja Mary juures

$ ls
John.txt Maarja.txt

Teie kohalik töökeskkond on tagasi enne projektipõhiste muudatuste tegemist. Pärast katkestamisest hoolitsemist, selle asemel et minna tagasi 'Johannese juurde.txt ', otsustate töötada lehel' Mary.txt 'fail kohe:

$ git mv Maarja.txt ProjectFile2.txt
$ git staatus
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
ümber nimetatud: Maarja.txt -> ProjectFile2.txt
$ ls
John.txt ProjectFile2.txt

Teid katkestatakse uuesti ja peidate oma uue töö teemal „Mary.txt ':

$ git kähmlus
Salvestatud töökataloog ja registriseisundi WIP isandale: f0b5a01 Init John ja Mary
HEAD on nüüd f0b5a01 Init John ja Mary juures
$ ls
John.txt Maarja.txt

Pärast katkestustööde tegemist kontrollite kasti loendit:

$ git'i salvete loend
atash @ 0: pühkige meistrilt: f0b5a01 Init John ja Mary
atash @ 1: pühkige meistrilt: f0b5a01 Init John ja Mary

Teil on kaks pooleliolevat tööd (WIP). Esmalt, kui avate atribuudi, saate uusima Mary.txt 'muudatused:

$ git stash pop
Maarja eemaldamine.txt
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
uus fail: ProjectFile2.txt
Muudatused, mis pole toimingu jaoks korraldatud:
(kasutage 'git add / rm … ", Et ajakohastada kohustusi)
(kasuta 'git checkout -- … ", Et jätta ära muudatused töökataloogis)
kustutatud: Mary.txt
Viidatud viited / olek @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)

Teist korda, kui avate atleti, saate „John.txt'-ga seotud muudatused:

$ git stash pop
Johni eemaldamine.txt
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
uus fail: ProjectFile1.txt
uus fail: ProjectFile2.txt
Muudatused, mis ei ole toime pandud:
(kasutage 'git add / rm … ", Et ajakohastada kohustusi)
(kasuta 'git checkout -- … ", Et loobuda muudatustest töökataloogis)
kustutatud: John.txt
kustutatud: Mary.txt
Viidatud viited / olek @ 0 (1e1968854fb5ca4d609e577822dc3280dbf928f6)
$ ls
Projektifail1.txt ProjectFile2.txt

Ja teil on pooleliolev projekt ProjectFile1.txt 'ja' ProjectFile2.txt 'tagasi.

Nii et käsk git stash aitab teil oma tööd kleepida, et saaksite selle juurde hiljem tagasi pöörduda.

21. git staatus

Git-oleku käsk kuvab praeguste failide ja HEAD-i pühendamise erinevuse.

Siin on näide:

$ git staatus
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
ümbernimetatud: File2.txt -> fail3.txt
Muudatused, mis ei ole toime pandud:
(kasuta 'git add … ", Et ajakohastada kohustusi)
(kasuta 'git checkout -- … ", Et loobuda muudatustest töökataloogis)
muudetud: fail1.txt

See näitab, et 'File2.txt 'nimetatakse ümber failiks3.txt ', mis on valmis sidumiseks, kuid muudatused failis' File1.txt 'pole veel lavastusalas.

Niisiis lisame kõik:

$ git lisa -A

Nüüd, kui kontrollime olekut:

$ git staatus
Filiaali kaptenil
Tehtavad muudatused:
(kasuta 'git reset HEAD ... "lavalaudadele)
muudetud: fail1.txt
ümbernimetatud: File2.txt -> fail3.txt

Näeme, et kõik muudatused on valmis pühendumiseks.

22. git-silt

Git-märgendi käsk aitab teil luua oluliste ajalooliste punktide jaoks silte. Seda kasutatakse tavaliselt versiooninumbrite seadistamiseks.

Git tagi käsk näitab teile praeguseid saadaolevaid silte:

$ git silt
v1.0
v2.0

Märgistada saate käsuvormingu git-märgendiga :

$ git silt v3.0

Sildi sisu nägemiseks võite kasutada käsku git show:

$ git show v1.0
pühenduma 61e9e8aa1b98b2a657303e6822b291d2374314b5
Autor: Zak H
Kuupäev: neljapäev 22. november 01:06:42 2018 -0800
Esmalt pühendu
diff --git a / 1.txt b / 1.txt
uus failirežiim 100644
indeks 0000000… e69de29

Märgistamiseks võite kasutada ka pühenduse räsi ja käsuvormingu git silti :

$ git log - oneline
374efe9 Muudetud fail
a621765 Lisa
6d6ed84 Teine kohustus
61e9e8a Esimene kohustus
$ git silt v4.0 a621765
$ git show v4.0
toime panema a6217650a2c7b2531ecb9c173ba94bd4b3ba7abd
Autor: Zak H
Kuupäev: N 22. nov 01:15:55 2018 -0800
Lisama
diff --git a / 1.txt b / 1.txt
indeks e69de29… 587be6b 100644
--- a / 1.txt
+++ b / 1.txt
@@ -0,0 +1 @@

Kokkuvõtteks

Mis tahes käsu jaoks võite kasutada git -h, et saada rohkem teavet.

Edasine uuring

  • https: // git-scm.com / docs
Parimad mängude jaoks mõeldud Linuxi distrod 2021. aastal
Linuxi operatsioonisüsteem on oma algsest, lihtsast, serveripõhisest välimusest kaugele jõudnud. See operatsioonisüsteem on viimastel aastatel tohutul...
Kuidas Linuxis oma mänguseanssi jäädvustada ja voogesitada
Varem peeti mängude mängimist ainult hobiks, kuid aja jooksul kasvas mängutööstus tehnoloogia ja mängijate arvu osas tohutult. Mängupublik on veebimän...
Parimad mängud, mida saab mängida käte jälgimisega
Oculus Quest tutvustas hiljuti suurepärast ideed käsitsi jälgimisest ilma kontrolleriteta. Üha suurema hulga mängude ja tegevustega, mis toetavad kas ...