Git

22 osnovnih ukazov Git

22 osnovnih ukazov Git
Git je postal najpomembnejši sistem za nadzor različic. Porast priljubljenosti Gita lahko pripišemo njegovi hitrosti, gibčnosti in vsestranskosti. Ne glede na to, ali ste spletni razvijalec ali samostojni oblikovalec programske opreme za aplikacije na ravni podjetja, lahko Git izkoristite. Pomaga vam pri zapisovanju datotek s sistematičnimi različicami. Git olajša vrnitev na starejše različice kode ali ustvarjanje novih vej za eksperimentiranje na trenutni bazi kod. Git je tudi porazdeljeni sistem za nadzor različic, kar pomeni, da vam ni treba vedno vzpostaviti povezave z osrednjim strežnikom, da opravite svoje delo.Spodaj so navedeni osnovni ukazi Git, ki vam bodo pomagali pri vsakodnevnih opravilih. Preprosti primeri vam bodo omogočili razumevanje ukazov, tako da se boste lahko hitro spomnili sintakse, ko jih boste morali uporabiti.

1. git add

Ukaz git add vam omogoča, da začnete slediti datotekam in mapam za vaše skladišče Git in jih premaknete na odrsko območje. Za uvrstitev na zgodovinske posnetke boste morali uporabiti ukaz git commit.

Uporaba ukaza je enostavna. Datoteke in mape lahko dodate posamično ali pa jih dodate v skupine z operaterjem globusa z zvezdico (*) za Linux.

Vzemimo spodnji primer:

Recimo, da smo v zgornjem primeru že dodali ReadMe.txt. Toda ostale datoteke niso bile dodane.

Preverimo stanje:

$ git status
Na poveljniku podružnice
Vaša podružnica je posodobljena z 'origin / master'.
Datoteke brez sledenja:
(uporabite 'git add … "Vključiti v to, kar bo storjeno)
datoteka1.txt
datoteka2.txt
mapa1 /

Datoteke in mape so rdeče, kar pomeni, da jim ni mogoče slediti. Lahko jih dodamo s pomočjo:

$ git dodaj datoteko1.txt datoteka2.mapa txt1 / *

Če zdaj preverimo stanje:

$ git status
Na poveljniku podružnice
Vaša podružnica je posodobljena z 'origin / master'.
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
nova datoteka: datoteka1.txt
nova datoteka: datoteka2.txt
nova datoteka: mapa1 / datoteka3.txt
nova datoteka: mapa1 / datoteka4.txt

Ukaz git add je datoteke dodal v odrsko območje. Datoteke se shranijo v uprizoritvenem območju, preden postanejo trajne skozi postopek predaje.

2. git podružnica

Na Gitu je razvejanje enostavno. V drugih sistemih za nadzor različic je bila to draga operacija. Toda algoritmi Git so optimizirani za razvejanje. Tako lahko ukaz git branch uporabite kadar koli želite ustvariti ločeno razvojno vrstico, ne da bi vas skrbelo za zmogljivost.

Oglejmo si naslednji primer.

$ git status
Na poveljniku podružnice
Vaša podružnica je posodobljena z 'origin / master'.
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
nova datoteka: datoteka1.txt
nova datoteka: datoteka2.txt
nova datoteka: mapa1 / datoteka3.txt
nova datoteka: mapa1 / datoteka4.txt

Obvestilo smo, da smo "na podružnici". Ko ustvarite nov projekt, boste končali s poveljnikom podružnic. Z ukazom git branch -a lahko tudi ugotovite, na kateri veji ste:

$ git podružnica -a
* mojster

Zgoraj vam povem, da obstaja samo ena veja, imenovana 'master', in zvezdica (*) pomeni, da ste na tej veji.

Ustvarimo novo vejo, imenovano 'testiranje':

$ git testiranje podružnice

Zdaj lahko znova preverimo veje:

$ git podružnica -a
* mojster
testiranje

Čeprav smo še vedno v veji 'master', lahko vidimo tudi novo vejo 'test', ki je bila ustvarjena. Podružnica 'testiranje' je kopija veje 'master'.

3. git checkout

Ukaz git checkout vas pripelje do podružnice, tako da lahko tam delate na virih. Podružnice si lahko predstavljate kot reke in potoke. Z vejo ustvarite nov tok. Z ukazom checkout se premaknete v ta tok.

Oglejmo si vejo 'testiranje' iz prejšnjega primera:

$ git checkout testiranje
Preklopljeno na "testiranje" podružnice

Zdaj pa ponovno preverimo stanje in podružnice:

$ git status
Na testiranju podružnic
nič za zavezati, delovni imenik čist
$ git podružnica -a
mojster
* testiranje

Iz ukaza git -a lahko vidite, da smo se preselili v preskusno vejo.

4. klon git

Ukaz git clone vam omogoča kopiranje katerega koli skladišča Git. Takoj ko klonirate repozitorij, bo nova klonirana mapa začela lokalno beležiti spremembe. Ker se Git distribuira, je klon popolnoma avtonomno skladišče Git.

Da bi prikazali, kako deluje kloniranje, ustvarimo novo skladišče:

$ mkdir dir1
$ cd dir1
$ mkdir mojprojekt
$ cd myproject /
$ git init
Inicializirano prazno repozitorij Git v / dir1 / myproject /.git /
$ touch ReadMe.txt
$ git commit -m 'Inicializiraj moje skladišče'
[master (root-commit) 5a0bd75] Inicializirajte moje repozitorij
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 ReadMe.txt

V zgornjem primeru smo ustvarili repozitorij Git, imenovan 'myproject' znotraj mape 'dir1'. Recimo, da je to naše glavno skladišče. Zdaj ga želimo narediti in delati drugje.

Ustvarimo imenik z imenom 'dir2' in kloniramo repozitorij 'myproject'. Uporabljamo klon git

za kloniranje 'myproject':

$ mkdir dir2
$ cd dir2
$ git clone / dir1 / myproject /
Kloniranje v 'mojprojekt' ..
Končano.
$ ls
mojprojekt

Ukaz git clone deluje tudi z URL-jem.

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

Ime klona lahko spremenite tudi tako, da ga navedete za naslovom repozitorija Git:

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

5. git commit

Ukaz git commit se zažene po ukazu git add. V našem primeru git add smo dodali datoteke za sledenje, vendar ga nismo predali v skladišče Git. Sledenje ostane lokalno, dokler se ne izvede prevzem. Ko sprejmete spremembe, postanejo del stalnega zapisa.

Spodaj izvajamo git commit -m ukaz:

$ git commit -m 'Zapisovanje datotek in map'
[mojster 3ef57b3] Zapisovanje datotek in map
4 datoteke spremenjene, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 datoteka1.txt
ustvari način 100644 datoteka2.txt
ustvari način 100644 mapa1 / datoteka3.txt
ustvari način 100644 folder1 / file4.txt

Če za komentar ne uporabite možnosti -m, bo Git odprl vaš privzeti urejevalnik besedil in ga zahteval. Pripombe veljajo za dobro prakso nadzora različic. Zato v svojo objavo vedno vnesite pomembne komentarje.

6. git config

Ukaz git config vam omogoča nastavitev različnih možnosti za vaše git skladišče. Na primer, lahko uporabite git config -global ukaz, da dobite in nastavite uporabnika.ime in uporabnik.E-naslov.

Vrednosti lahko nastavite tako:

$ git config --global uporabnik.ime 'Zak H'
$ git config --global uporabnik.email zakh @ primer.com

Tu lahko preverite vrednosti:

$ git config --global uporabnik.ime
Zak H
$ git config --global uporabnik.E-naslov
zakh @ primer.com

7. git razl

Ukaz git diff vam pomaga videti razlike med datotekami in mapami. Če spreminjate datoteko, je koristno orodje za hitro oceno sprememb.

Recimo, da začnemo delo z ReadMe.txt datoteka z dvema vrsticama. Nato se znebimo druge vrstice in dodamo še tretjo vrstico.

Zdaj, če zaženemo ukaz diff, bodo prikazane razlike med dodeljeno različico in lokalno spremenjeno različico na odrskem območju. Takole bo videti:

$ git razl
diff --git a / ReadMe.txt b / ReadMe.txt
indeks 9475ddc… 1804904 100644
--- a / ReadMe.txt
+++ b / ReadMe.txt
@@ -1,2 +1,2 @@
Vrstica 1: Moja prva vrstica
-2. vrstica: Moja druga vrstica
+Vrstica 3: Moja TRETJA vrstica

Vrstica 1 je nespremenjena (bela), črta 2 odstranjena (rdeča) in dodana vrstica 3 (zelena).
Ukaz diff lahko uporabite tudi za iskanje razlik med določenimi predpisi.

8. git fetch

Ukaz git fetch dobi najnovejše vire iz navedenega izvora.

Oglejmo si primer. Recimo, da imate naslednje stanje:

dir1 / myproject
dir2 / myproject (klonirano)

Mapa 'dir2 / myproject' je klonirana iz 'dir1 / myproject'. Zdaj, če je nekdo storil spremembe v 'dir1 / myproject', lahko te spremembe, kot je ta, dobite znotraj 'dir2 / myproject':

$ git fetch origin
daljinsko: Štetje predmetov: 2, končano.
daljinsko: Stiskanje predmetov: 100% (2/2), končano.
daljinsko: Skupaj 2 (delta 0), ponovno uporabljeno 0 (delta 0)
Razpakiranje predmetov: 100% (2/2), končano.
Iz / dir2 / ... / dir1 / myproject
5a0bd75… 1713734 glavni -> izvor / glavni

Pomembno je vedeti, da ukaz git fetch ne združi sprememb. Za samodejno pridobivanje in spajanje uporabite ukaz git pull. Potem se morda sprašujete, zakaj sploh uporabljati ta ukaz. Morda obstajajo napredne možnosti Git, kjer dobite vse spremembe s svojega izvornega strežnika in nato spremembe uporabite le selektivno za določene datoteke. Ukaz git fetch vam omogoča, da to dosežete. Vendar je to napredna tema, ki jo najdete v dokumentaciji git fetch.

9. git grep

Ukaz git grep vam omogoča iskanje informacij v drevesu Git. Tu je primer iskanja besede 'Line' v našem shrambi git. Možnost -n ali --line-number prikazuje številke vrstic, kjer Git najde ujemanje:

$ git grep -n Vrstica
ReadMe.txt: 1: 1. vrstica: moja prva vrstica
ReadMe.txt: 2: Vrstica 3: Moja TRETJA vrstica

Podobno iskanje lahko izvedete, kolikokrat je ujemanje z možnostjo -c ali --count:

git grep -c Vrstica
ReadMe.txt: 2

Razlog za uporabo git grep nad Linux grep je, da je git grep hitrejši za git repozitorije.

10. git log

Ukaz git log vam pokaže zgodovino prevzema.

$ git log
se zaveži 171373479fc309846ef605fbe650933767afd0fb
Avtor: Zak H
Datum: sreda, 21. novembra 20:26:32 2018 -0800
Dodane so nove datoteke
zaveži se 5a0bd759506d20b2b989873258bf60d003aa3d36
Avtor: Zak H
Datum: sreda 21. novembra 18:48:35 2018 -0800
Inicializirajte moje skladišče

Za ogled skrajšane različice lahko uporabite tudi možnost --oneline. Skrajšani različici je lažje slediti.

$ git log --oneline
1713734 Dodane nove datoteke
5a0bd75 Inicializiraj moje skladišče

11. git merge

Ukaz git merge združi veje.

Ustvarimo novo repozitorij z 'main' in nato ustvarimo 'test' vejo.

$ mkdir mojprojekt
$ cd mojprojekt
$ git init
Inicializirano prazno repozitorij Git v / git_essentials / myproject /.git /
$ touch ReadMe.txt
$ git add -A
$ git commit -m 'Začetna odobritev'
[master (root-commit) b31d4e1] Začetna odobritev
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 ReadMe.txt
$ git test podružnice
$ git podružnica -a
* mojster
preskus
$ git checkout test
Preklopljeno na "test" veje

V veji 'test' naredimo nekaj sprememb:

$ touch File1.txt Datoteka2.txt
$ Ls
Datoteka1.txt Datoteka2.txt ReadMe.txt
$ git add -A
$ git commit -m 'Dodali smo dve novi datoteki'
[test 7e11910] Dodane dve novi datoteki
Spremenjeni 2 datoteki, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 Datoteka1.txt
ustvari način 100644 File2.txt

Preizkusu smo dodali dve datoteki.

$ git podružnica -a
mojster
* test
$ ls
Datoteka1.txt File2.txt ReadMe.txt
$ git checkout master
Preklopljeno na vejo 'master'
$ git podružnica -a
* mojster
preskus
$ ls
ReadMe.txt

Iz zgornjega vidimo, da je File1.txt in File2.txt obstaja v veji 'test', ne pa tudi v 'master'.

Združimo se zdaj.

$ git test spajanja
Posodabljanje b31d4e1… 7e11910
Hitro naprej
Datoteka1.txt | 0
Datoteka2.txt | 0
Spremenjeni 2 datoteki, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 Datoteka1.txt
ustvari način 100644 File2.txt
$ ls
Datoteka1.txt File2.txt ReadMe.txt
$ git podružnica -a
* mojster
preskus

Zdaj imamo 'File1.txt 'in' File2.txt 'v' glavni 'podružnici.

Opomba: Združitev si predstavljajte kot operacijo vlečenja. Moraš biti v veji, v katero se želiš združiti. V tem primeru ste v veji 'master' in vlečete spremembe iz veje 'test'.

12. git mv

Git mv je bližnjični ukaz za zagon ukazov git add in git rm. Uporablja se lahko za preimenovanje datotek.

Tu je primer:

$ git mv ReadMe.txt ReadMe.md
$ git status
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
preimenovano: ReadMe.txt -> ReadMe.md

13. git pull

Ukaz git pull je zelo podoben git fetch, le da se spajanje zgodi samodejno.

Tu je primer izvajanja git pull origin, kot je git fetch (izvajamo zahtevo za vlečenje iz klona, ​​da dobimo spremembe iz prvotnega repozitorija Git):

$ git pull izvor
daljinsko: Štetje predmetov: 3, končano.
daljinsko: Stiskanje predmetov: 100% (2/2), končano.
daljinsko: skupaj 3 (delta 0), ponovno uporabljeno 0 (delta 0)
Razpakiranje predmetov: 100% (3/3), končano.
Iz / LearnGIT / git_essentials / myproject
7e11910… e67f932 glavni -> izvor / glavni
Posodabljanje 7e11910… e67f932
Hitro naprej
Datoteka1.txt | 1 +
Datoteka2.txt | 1 +
Datoteka3.txt | 1 +
ReadMe.txt => ReadMe.md | 0
4 datoteke spremenjene, 3 vstavki (+)
ustvari način 100644 File3.txt
preimenuj ReadMe.txt => ReadMe.md (100%)

Vidite lahko, da so bile spremembe prenesene iz izvora in združene v klon.

14. git push

Ukaz git push se uporablja za potiskanje sprememb v oddaljene repozitorije. Tu je primer izvajanja ukaza push:

$ git push master
Štetje predmetov: 2, končano.
Delta stiskanje z uporabo do 4 niti.
Stiskanje predmetov: 100% (2/2), končano.
Pisanje predmetov: 100% (2/2), 242 bajtov | 0 bajtov / s, končano.
Skupaj 2 (delta 1), ponovno uporabljena 0 (delta 0)
V / LearnGIT / git_essentials / myproject
e67f932… 90dc546 mojster -> mojster

Glavni ukaz git push origin pošlje spremembe v vejo 'master' izvora (repozitorij Git, ki ste ga klonirali) iz veje 'master' kloniranega repozitorija. Vizualno je potisk videti tako:

cloned / master -> origin / master

15. git rebase

Ukaz git rebase vam pomaga spremeniti osnovo vej. Pri splošni združitvi se zgodi nekaj takega:

Preskusna veja je bila združena v vejo 'master', da je ustvarila novo objavo.

V ponovni zbirki se zgodi naslednje:

Spremembe s seznama sprememb E in F so preračunane in zapahnjene na koncu glavne veje. Prenova temelji na poenostavitvi vej.

Predpostavimo, da imamo to situacijo v veji 'master':

$ git log --oneline
7f573d8 Zavezi C: dodano c.txt
795da3c Zavezi B: dodano b.txt
0f4ed5b Obvezi A: dodano a.txt

In veja funkcije:

$ git log --oneline
8ed0c4e Zavezi F: spremenjeno b.txt
6e12b57 Zavezi E: spremenjeno a.txt
795da3c Zavezi B: dodano b.txt
0f4ed5b Obvezi A: dodano a.txt

Če prenovimo, dobimo git rebase master:

$ git checkout funkcija
Preklopljeno na vejo "funkcija"
$ git rebase master

Najprej previjte glavo, da na vrhu predvajate svoje delo ..

Prijava: Obveza E: spremenjeno a.txt
Prijava: Obveznost F: spremenjeno b.txt
Nato združite 'funkcijo' v 'master'.
$ git checkout master
Preklopljeno na vejo 'master'
$ git funkcija spajanja
Posodabljanje 7f573d8… 9efa1a3
Hitro naprej
a.txt | 1 +
b.txt | 1 +
Spremenjeni 2 datoteki, 2 vstavki (+)

Zdaj, če odprete vejo 'master' in 'feature', boste videli iste dnevnike:

$ git log --oneline
9efa1a3 Zavezi F: spremenjeno b.txt
8710174 Zavezi E: spremenjeno a.txt
7f573d8 Zavezi C: dodano c.txt
795da3c Zavezi B: dodano b.txt
0f4ed5b Obvezi A: dodano a.txt

Ponovno ocenjevanje jih je strlo.

Opomba: Nikoli ne uporabljajte ponovne podpore v javnih skladiščih, saj bodo razvijalci naleteli na večje težave pri spajanju.

16. git daljinski upravljalnik

Git remote ukaz vam omogoča, da za odlagališče nastavite oddaljeni strežnik. V primeru kloniranja izvorno skladišče samodejno postane daljinski upravljalnik.

Na primer:

$ pwd
/ LearnGIT / git_essentials / test
$ git remote -v
origin / LearnGIT / git_essentials / myproject (fetch)
origin / LearnGIT / git_essentials / myproject (push)

Zgornje kaže, da je oddaljeni strežnik za "test" druga mapa, imenovana "myproject". Razlog je v tem, da je bil "test" kloniran za moj projekt.

Ni pa treba, da je oddaljeni strežnik lokalni. Lahko imate nekaj takega z URL-jem:

$ git remote -v
izvor https: // github.com / zakh / myproject (prinesi)
izvor https: // github.com / zakh / myproject (potisni)

Git oddaljeno repozitorij lahko nastavite z ukazom git remote add :

$ git remote add origin https: // github.com / zakh / myproject

S tem boste povezali svoj repo z izvorom, tako da ga lahko prevzamete in potisnete.

17. ponastavitev gita

Ponastavitev gita vam omogoča, da dodate datoteke iz sistema.

Recimo, da ste dodali datoteko 'test.txt 'v vaše skladišče:

$ test na dotik.txt
$ git add -A
$ git status
Na poveljniku podružnice
Vaša podružnica je posodobljena z 'origin / master'.
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
nova datoteka: test.txt

Vendar se odločite, da ne želite slediti preizkusu.txt 'več. Uporabite lahko git reset glavo ukaz za odstranitev datoteke iz faze:

$ git reset HEAD test.txt

Če preverite stanje, datoteki znova ne sledite:

$ git status
Na poveljniku podružnice
Vaša podružnica je posodobljena z 'origin / master'.
Datoteke brez sledenja:
(uporabite 'git add … "Vključiti v to, kar bo storjeno)
preskus.txt

"Test datoteke".txt 'ni več sleden.

18. git revert

Ukaz git revert vam omogoča, da spremenite spremembe s pomočjo zgoščene številke predaja.

$ echo 'Test 1' >> MyFile.txt
$ git add -A
$ git commit -m 'Dodana sprememba 1'
[mojster 78a8277] Dodana sprememba 1
Spremenjeni 2 datoteki, 1 vstavljanje (+)
ustvari način 100644 MyFile.txt
ustvariti način 100644 test.txt
$ mačka MyFile.txt
Preskus 1
$ echo 'Test 2' >> MyFile.txt
$ git add -A
$ git commit -m 'Dodana sprememba 2'
[master a976e9c] Dodana sprememba 2
1 datoteka spremenjena, 1 vstavitev (+)
$ mačka MyFile.txt
Preskus 1
Preskus 2
$ git log --oneline
a976e9c Dodana sprememba 2
78a8277 Dodana sprememba 1
90dc546 Dodana datoteka
e67f932 Dodane nove datoteke
7e11910 Dodal dve novi datoteki
b31d4e1 Začetna odobritev

Ustvarili smo datoteko 'MyFile.txt 'in naredil dve spremembi, tako da ima datoteka vrstici' Test 1 'in' Test 2 '. Toda odločili smo se, da ne želimo druge zaveze. Tako smo zanj našli razpršeno hash (a976e9c). Lahko uporabimo git revert da se znebite zaveze:

$ git revert a976e9c
[master 4f270e7] Razveljavi 'Dodana sprememba 2'
1 datoteka spremenjena, 1 brisanje (-)
$ git log --oneline
4f270e7 Razveljavi 'Dodana sprememba 2'
a976e9c Dodana sprememba 2
78a8277 Dodana sprememba 1
90dc546 Dodana datoteka
e67f932 Dodane nove datoteke
7e11910 Dodal dve novi datoteki
b31d4e1 Začetna odobritev
$ mačka MyFile.txt
Preskus 1

Vidimo, da je bilo ustvarjeno novo razpršeno zgoščevanje, ki je razveljavilo prevzem vrstice 'Test 2'. Datoteka ima zdaj samo vrstico 'Test 1'.

19. git rm

Ukaz git rm nastavi datoteke za prihodnje brisanje. Datoteke, ki jih je treba izbrisati, postavi v uprizoritveno območje.

$ git rm test.txt
rm 'test.txt '
$ git status
Na poveljniku podružnice
Vaša podružnica je pred 'origin / master' s 3 prevzemi.
(uporabite 'git push' za objavo lokalnih prevzemov)
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
črtano: test.txt

Sprejeti morate spremembe, da bo izbris začel veljati.

20. git stash

Ukaz git stash vam omogoča, da začasno opustite delo, za katero še niste pripravljeni.
Denimo, da delate v repozitoriju z naslednjimi datotekami:

$ ls
Janez.txt Marija.txt
Te datoteke želite spremeniti v bolj projektne. Torej začnete z:
$ git mv Janez.txt ProjectFile1.txt
$ ls
Mary.txt ProjectFile1.txt
$ git status
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
preimenovano v John.txt -> ProjectFile1.txt

Sredi preimenovanja in posodabljanja Janeza.txt 'na' ProjectFile1.txt ', prejmete zahtevo za spremembo v projektu. Vendar niste pripravljeni oddati 'ProjectFile1.txt '. Torej skrivaj.

$ git skrinja

Shranjen delovni imenik in stanje indeksa WIP na glavnem: f0b5a01 Init John and Mary

HEAD je zdaj na f0b5a01 Init Janez in Marija

$ ls
Janez.txt Marija.txt

Vaše lokalno delovno okolje se je vrnilo tja, kjer ste bili pred spremembami, ki temeljijo na projektu. Potem pa se posveti prekinitvi, namesto da bi se vrnil k Janezu.txt ', ste se odločili za delo na' Mary.txt 'datoteka zdaj:

$ git mv Mary.txt ProjectFile2.txt
$ git status
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
preimenovana v Mary.txt -> ProjectFile2.txt
$ ls
Janez.txt ProjectFile2.txt

Ponovno vas motijo ​​in posnamete svoje novo delo o 'Mary.txt ':

$ git skrinja
Shranjen delovni imenik in stanje indeksa WIP na glavnem: f0b5a01 Init John and Mary
HEAD je zdaj na f0b5a01 Init Janez in Marija
$ ls
Janez.txt Marija.txt

Po končanem delu prekinitve preverite seznam zalog:

$ git skriti seznam
stash @ 0: WIP na glavnem: f0b5a01 Init John in Mary
zaloga @ 1: WIP na glavnem: f0b5a01 Init John in Mary

Na zalogi imate dve nedokončani obdelavi (WIP). Ko prvič odprete skrinjo, dobite najnovejšo 'Mary.spremembe txt ':

$ git stash pop
Odstranjevanje Marije.txt
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
nova datoteka: ProjectFile2.txt
Spremembe niso predvidene za prevzem:
(uporabite 'git add / rm ... 'posodobiti, kaj bo zavezano)
(uporabite 'git checkout -- … ', Če želite zavreči spremembe v delovnem imeniku)
črtano: Mary.txt
Spuščeni sklici / zaloga @ 0 (9b77a6b75e4e414fb64de341668c812d3d35150c)

Ko drugič vtakneš skrinjo, dobiš napis 'John.spremembe, povezane s txt:

$ git stash pop
Odstranjevanje Janeza.txt
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
nova datoteka: ProjectFile1.txt
nova datoteka: ProjectFile2.txt
Spremembe niso predvidene za prevzem:
(uporabite 'git add / rm ... 'posodobiti, kaj bo zavezano)
(uporabite 'git checkout -- … ', Če želite zavreči spremembe v delovnem imeniku)
črtano: Janez.txt
črtano: Mary.txt
Spuščeni sklici / zaloga @ 0 (1e1968854fb5ca4d609e577822dc3280dbf928f6)
$ ls
ProjectFile1.txt ProjectFile2.txt

In imate v teku "ProjectFile1".txt 'in' ProjectFile2.txt 'nazaj.

Ukaz git stash vam tako pomaga skriti vaše delo, da se lahko pozneje vrnete nanj.

21. git status

Ukaz git status prikazuje razliko med trenutnimi datotekami in predajo HEAD.

Tu je primer:

$ git status
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
preimenovano: File2.txt -> File3.txt
Spremembe niso predvidene za prevzem:
(uporabite 'git add ... 'posodobiti, kaj bo zavezano)
(uporabite 'git checkout -- … ', Da zavržemo spremembe v delovnem imeniku)
spremenjeno: Datoteka1.txt

Kaže, da „File2.txt 'se preimenuje v' File3.txt ', ki je pripravljen za objavo, vendar spremembe v' File1.txt 'še ni na odrskem območju.

Torej, dodamo vse:

$ git add -A

Zdaj, ko preverimo stanje:

$ git status
Na poveljniku podružnice
Predlagane spremembe:
(uporabite 'git reset HEAD ... 'do odpovedi)
spremenjeno: Datoteka1.txt
preimenovano: File2.txt -> File3.txt

Vidimo, da so vse spremembe pripravljene na prevzem.

22. git tag

Ukaz git tag vam pomaga ustvariti oznake za vaše pomembne zgodovinske točke. Običajno se uporablja za nastavitev številk različic.

Ukaz git tag vam bo pokazal trenutne razpoložljive oznake:

oznaka $ git
v1.0
v2.0

Označite lahko z ukazno obliko git tag :

$ git tag v3.0

Če želite videti, kaj je v oznaki, lahko uporabite ukaz git show:

$ git show v1.0
zaveži 61e9e8aa1b98b2a657303e6822b291d2374314b5
Avtor: Zak H
Datum: četrtek, 22. november 01:06:42 2018 -0800
Najprej se zavežite
diff --git a / 1.txt b / 1.txt
nov datotečni način 100644
indeks 0000000… e69de29

Označite lahko tudi s pomočjo zgoščevalne datoteke in oznake git v obliki zapisa ukaza :

$ git log --oneline
374efe9 Spremenjena datoteka
a621765 Dodaj
6d6ed84 Drugi prevzem
61e9e8a Prvi prevzem
$ git tag v4.0 a621765
$ git show v4.0
zaveži a6217650a2c7b2531ecb9c173ba94bd4b3ba7abd
Avtor: Zak H
Datum: četrtek, 22. november 01:15:55 2018 -0800
Dodaj
diff --git a / 1.txt b / 1.txt
indeks e69de29… 587be6b 100644
--- a / 1.txt
+++ b / 1.txt
@@ -0,0 +1 @@

V zaključku

Za kateri koli ukaz lahko uporabite git -h, da dobite več informacij.

Nadaljni študij

  • https: // git-scm.com / docs
Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...
Vulkan za uporabnike Linuxa
Z vsako novo generacijo grafičnih kart vidimo, da razvijalci iger premikajo meje grafične zvestobe in se približujejo fotorealizmu. A kljub vsem kredi...
OpenTTD vs Simutrans
Ustvarjanje lastne simulacije prevoza je lahko zabavno, sproščujoče in izjemno vabljivo. Zato morate preizkusiti čim več iger, da boste našli tisto, k...