Napredni vodič za Git

Napredni vodič za Git

Postavljanje vašeg projekta putem udaljenog spremišta omogućuje vam fleksibilno upravljanje svakim njegovim dijelom. Ispravci programskih pogrešaka, ažuriranja značajki, brisanje datoteka, timski rad, doprinosi otvorenog koda, implementacija koda i još mnogo toga sada su vam nadohvat ruke s dobrim poznavanjem Gita.





Dakle, koristili ste Git, ali želite znati više? Evo nekoliko naprednijih savjeta za Git koji će učiniti da vaša verzija projekta kontrolira.





Git Branch

Git grana sprječava vas da gurnete izravno na glavnu granu. Korisno je ako upravljate projektom s timom programera. Možete stvoriti onoliko Git grana koliko želite, a zatim ih kasnije spojiti s glavnom granom.





Izradite Git granu

Da biste stvorili Git granu, upotrijebite:

git branch branch_name

Prebacite se na Git granu

Koristiti provjeri za prelazak na Git granu:



git checkout branch_name

Nakon što se prebacite na podružnicu, možete stupnjevati promjene pomoću git add -sve . Zatim ih predajte korištenjem git commit -m 'ime predavanja' naredba.

Usporedite granu s magistrom

Koristiti git razlika naredba:





git diff master..branch_name

Za usporedbu određenih datoteka:

git diff master..testb -- main.html

Usporedba dviju grana slična je usporedbi grane s glavnom:





git diff branch1..branch2

Da biste vidjeli razlike u određenoj datoteci između dvije grane:

git diff branch1..branch2 -- main.html

Pritisnite Promjene na udaljenu granu

Možda biste htjeli da drugi programer pogleda izmjene koje ste unijeli u datoteku u lokalnoj podružnici prije nego što ih aktivirate. Dobra praksa je gurnuti vašu lokalnu Git podružnicu na udaljenu repliku kako bi mogli pogledati.

Pretpostavimo da ste prethodno stvorili lokalnu podružnicu pod nazivom promjene . Možete se prebaciti na tu lokalnu podružnicu, prilagoditi sve datoteke koje želite, a zatim postaviti i predati ih toj grani.

Zatim možete gurnuti te promjene u udaljenu verziju grane:

git push origin changes

Spojite udaljenu podružnicu s majstorom pomoću povlačnog zahtjeva

Dakle, drugi programer je pregledao promjene u udaljenoj podružnici ( promjene ). Ali želite ga spojiti s glavnom granom i pokrenuti uživo.

Upamtite da vaša udaljena grana nasljeđuje naziv vaše lokalne Git grane ( promjene ). Evo kako spojiti promjene:

Prebacite se na glavnu granu:

git checkout master

Povucite ishodište ili GLAVU grane ( promjene ) da biste ga spojili s glavnom granom:

git pull origin changes

Pritisnite ovo spajanje uživo do glavne grane:

git push origin master

Umjesto toga koristite Git Merge

Za spajanje grane s glavnim pomoću ići naredba:

Premjesti u glavnu granu:

git checkout master

Spoji ga s granom ( promjene ):

git merge changes

Zatim pritisnite spajanje uživo do glavne grane:

kako instalirati drugi tvrdi disk
git push origin master

Obavezno zamijenite promjene s imenom vaše podružnice.

Nakon što je spajanje uspješno, tada možete lokalno i daljinski izbrišite granu ako vam više ne treba:

Povezano: Kako preimenovati podružnicu u Gitu

Git Rebase

Ako imate više grana sa zastarjelim urezivanjima, možete ih ponovo bazirati ili ponovno usredotočiti glava/ref od tih grana naslijediti glava/ref ažuriranog.

Rebaziranje, dakle, dobro dođe kada trebate neke grane ažurirati bazom trenutne.

Ponovno stvaranje baze podataka ne bi trebalo biti česta radnja, pogotovo ako radite s timom jer može poremetiti cijeli tijek rada. No, ako radite sami i upoznati ste sa svojim tijekom rada i granama, ponovno baziranje ne bi trebalo nanijeti štetu ako znate gdje i kako ga koristiti.

Na primjer, pretpostavimo da imate dvije grane; grana1 i grana2. Već neko vrijeme niste unijeli nikakve promjene u granu1. Ali dosljedno donosite promjene u branch2, uključujući i nedavno.

Pa ste odlučili nositi granu1 zajedno s protokom. Ponovno postavljanje grane1 u granu2, dakle, znači da govorite grani1 da zanemari svoja prethodna urezivanja i naslijedi nedavnu predaju napravljenu na grani2.

Evo kako to možete učiniti:

Prebacite se na napuštenu granu (grana1):

git checkout branch1

Zatim ponovno postavite granu 1 u ažuriranu granu 2:

git rebase branch2

Git Squash

Git squash omogućuje spajanje više urezivanja u jedno. Pomaže kad trčite git commit mnogo puta na jednom ažuriranju. Praktičan primjer je kada svaki popravak programske pogreške ili refaktor koda za jednu značajku ima zasebno urezivanje.

No možda ne biste htjeli pritisnuti HEAD predati sa pratećim jer svi imaju istu svrhu. Preporučuje se da ih zgnječite u jedno kako biste izbjegli zabunu pri praćenju urezivanja.

Najbolji način za poništavanje urezivanja je putem interaktivnog načina ponovne baze podataka. Da biste to bolje razumjeli, pogledajte donji primjer.

U ovom primjeru pretpostavimo da imate pet ispravki programskih pogrešaka. I za svakog od njih postoji obveza. Evo kako možete spojiti ovih pet urezivanja u jedno:

Trčanje git reflog za pregled hash koda vaših urezivanja:

git reflog

Evo rezultata u ovom slučaju:

Sada vam je cilj poništiti zadnjih pet urezivanja, počevši od prvo popraviti do peti popravak .

Da biste to učinili, kopirajte hash kôd urezivanja ispod prvo popraviti ( 0a83962 ). Zatim pritisnite P napustiti reflog .

Sada trči git rebase -interaktivno na tom hashu.

git rebase --interactive 0a83962

Git tada otvara interaktivnu datoteku ponovne baze podataka koja izgleda ovako:

Za poništavanje urezivanja, isključujući prvo popraviti , zamijeniti odabrati s s za svaku drugu obvezu:

Spremite i zatvorite ovu datoteku.

Zatim se otvara druga datoteka za preimenovanje zgnječenog urezivanja:

možete li prenijeti gotovinu od jabuke u banku

Očistite ih i upišite željeno ime za zgnječeno urezivanje:

Spremite tu datoteku. Zatim ga zatvorite i trebali biste primiti poruku o uspjehu na svom terminalu.

Bilješka: Interaktivna datoteka se može otvoriti unutar terminala. No ako ste u sustavu Windows, možda biste htjeli prisiliti svoj terminal da globalno otvori datoteke u vašem omiljenom uređivaču teksta kako bi olakšalo zgnječenje.

Da biste to učinili, otvorite naredbeni redak i pokrenite:

git config --global core.editor ''path to choice text editor' -n -w'

Git Fork protiv Git Clone

Forking i kloniranje dva su različita pojma u Gitu. Ne možete forkirati svoje spremište jer je već tu s vama. Međutim, možete forkirati spremište drugih ljudi i nakon toga ga klonirati.

Forkiranje spremišta znači da ugrabite kopiju nečijeg spremišta i učinite ga svojim. Nakon što dobijete kopiju tog spremišta, možete ga klonirati kao i bilo koje od vaših git spremišta za lokalne promjene.

Evo kako to učiniti klonirati udaljeno spremište na GitHub -u i pokrenite preuzimanje u vaš lokalni direktorij:

git clone https://github.com/username/repository_name.git/

Vratite datoteku u zadano stanje

Ako želite izbrisati promjene u datoteci nakon zadnjeg urezivanja, možete koristiti git restauracija naredba:

git restore filename

Izmjena obveze

Možete se vratiti na prethodno urezivanje ako zaboravite promijeniti neke datoteke dok ih postavljate.

Izmijenite datoteku koju ste zaboravili. Zatim upotrijebite git izmijeniti pregledati urezivanje:

git add file_forgotten
git commit --amend

Datoteke za nestanak

Pomoću njih možete ukloniti određene datoteke koje ste postavili za urezivanje idi rm naredba:

git rm --cached filename

Također možete ukloniti nekoliko datoteka odjednom:

git rm --cached file1 file2 file3 file4

Ne zaboravite dodati relevantno proširenje datoteke bilo kojoj datoteci koju izuzimate. Na primjer, obična tekstualna datoteka trebala bi biti filename.txt .

Povezano: Kako očistiti Git i ukloniti datoteke bez pratnje

Git Resetiraj

Korištenje git reset je korisno ako želite odjednom ispustiti sve datoteke koje ste postavili za urezivanje:

git reset

Git reset HEAD, međutim, upućuje HEAD grane na određeno urezivanje u vašem radnom stablu. Na primjer, ako još niste pritisnuli svoje trenutno predavanje, možete se vratiti na nedavno pritisnuto predavanje:

git reset --soft HEAD~1

Zamijeniti --meko s -teško ako ste već pritisnuli trenutnu predaju:

git reset --hard HEAD~1

Idi natrag

Za razliku od resetirati naredba, vrati se održava integritet vaše povijesti urezivanja. Zgodno je ako želite izmijeniti urezivanje zbog pogrešaka ili grešaka.

Ne napušta ciljno predavanje niti stvara novo. Umjesto toga, vraća se na nedavne izmjene koje napravite bez brisanja ili preimenovanja takvog urezivanja. To je sjajan način da vaše uređene obaveze budu čistije, a osim toga je sigurnije od stalnog poništavanja.

Da biste se vratili na urezivanje:

git revert HEAD~1

Gdje GLAVA ~ 1 ukazuje na određeno urezivanje u vašem radnom stablu.

Brisanje praćene datoteke ili imenika

Možeš koristiti git rm -f za brisanje svih praćenih datoteka u radnom stablu. Imajte na umu, međutim, da Git ne može ukloniti datoteke bez praćenja jer ih ne kešira.

Da biste izbrisali postepenu datoteku:

git rm -f filename

Da biste uklonili postepenu mapu:

git rm -r -f foldername

Git Logging

Da biste pregledali zapisnike urezivanja i povijest u Gitu:

git log

Za bilježenje aktivnosti u određenoj podružnici:

git log branch_name

Povezano: Kako pregledati povijest projekta pomoću git dnevnika

Ponekad ćete se možda htjeti vratiti na napušteno predavanje. Dakle, za pregled napuštenih obveza, uključujući relevantne:

git reflog

Za pregled zapisnika ref za određenu granu:

git reflog branch_name

Upravljajte svojim projektnim verzijama poput profesionalca s Gitom

S Gitom koji nudi mnoge prednosti, možete daljinski upravljati izdanjima svojih projekata bez provale u datoteke i mape na licu mjesta u vašoj glavnoj podružnici. Osim toga, omogućuje vam jednostavno vođenje projekata s timom.

Kao što ste vidjeli, Git ima mnoge značajke koje možete istražiti. No, oprezno koristite ove značajke namjerno. U suprotnom biste mogli završiti s razbijanjem stvari. Ipak, još uvijek možete pokrenuti demo udaljeno spremište i igrati se s tim značajkama.

Udio Udio Cvrkut E -pošta Upravljajte svojim verzijama datoteka poput programera s Gitom

Programeri su stvorili sustave za kontrolu verzija (VCS) za rješavanje problema kontrole verzija datoteka. Pogledajmo osnove kontrole verzija koristeći vrhunski sustav danas, Git.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Web razvoj
  • GitHub
  • Vodiči za kodiranje
O autoru Idisou Omisola(94 objavljena članka)

Idowu je strastven u bilo čemu pametnom tehnologiji i produktivnosti. U slobodno vrijeme igra se kodiranjem i prebacuje na šahovsku ploču kad mu je dosadno, ali također voli povremeno odustati od rutine. Njegova strast prema pokazivanju ljudi suvremene tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu