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 GitomProgrameri 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
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 OmisolePretplatite 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