Giti täiustatud õpetus

Giti täiustatud õpetus

Projekti juurutamine kaughoidla kaudu võimaldab teil paindlikult hallata selle kõiki osi. Veaparandused, funktsioonide värskendused, failide kustutamine, meeskonnatöö, avatud lähtekoodiga kaastööd, koodi juurutamine ja palju muud on nüüd käeulatuses, tundes hästi Gitit.





Niisiis, olete Gitit kasutanud, kuid soovite rohkem teada saada? Siin on mõned täpsemad Giti näpunäited, mis muudavad teie projekti versiooni imelihtsaks.





Git Branch

Giti haru takistab teil otse peaharule surumast. See on kasulik, kui haldate projekti koos arendajate meeskonnaga. Saate luua nii palju Giti filiaale kui soovite ja seejärel ühendada need peaharuga.





Looge Giti haru

Giti haru loomiseks kasutage:

git branch branch_name

Lülitu Giti harule

Kasutamine kassasse Giti harule lülitumiseks:



git checkout branch_name

Pärast filiaalile üleminekut saate muudatusi etapis kasutada git lisa -kõik . Seejärel pühendage need, kasutades git pühenduda -m 'kohustuse nimi' käsk.

Võrrelge filiaali meistriga

Kasuta erinevused käsk:





git diff master..branch_name

Konkreetsete failide võrdlemiseks tehke järgmist.

git diff master..testb -- main.html

Kahe haru võrdlemine on sarnane sellega, kuidas võrrelda haru kapteniga:





git diff branch1..branch2

Konkreetse faili erinevuste nägemiseks kahe haru vahel:

git diff branch1..branch2 -- main.html

Muudatuste edastamine kaugharule

Võib -olla soovite, et mõni teine ​​arendaja vaataks enne nende avaldamist teie kohaliku haru failis tehtud muudatusi. Hea tava on lükata oma kohalik Giti haru kaugele koopiale, et nad saaksid seda vaadata.

Oletame, et olete varem loonud kohaliku haru nimega muudatusi . Saate lülituda sellele kohalikule harule, kohandada kõiki soovitud faile, seejärel lavastada ja pühendada need sellele harule.

Seejärel saate need muudatused suunata haru kaugversiooni:

git push origin changes

Ühendage kaugharu kapteniga, kasutades pull -päringut

Nii et teine ​​programmeerija on auditeerinud kaugharu muudatusi ( muudatusi ). Aga sa tahad selle liita master filiaaliga ja lükata see otse.

Pidage meeles, et teie kaugharu pärib teie kohaliku Giti filiaali nime ( muudatusi ). Muudatuste ühendamiseks toimige järgmiselt.

Lülituge peaharule:

git checkout master

Tõmmake haru päritolu või PEA ( muudatusi ), et see ühendada peaharuga:

git pull origin changes

Lükake see ühendamine otse põhiosale:

git push origin master

Kasutage selle asemel Git Merge'i

Haru ühendamiseks kapteniga, kasutades mine käsk:

Migreerige peaharule:

git checkout master

Ühendage see filiaaliga ( muudatusi ):

git merge changes

Seejärel lükake ühinemine otseülekandega peaharule:

okei google lülita mu taskulamp sisse
git push origin master

Veenduge, et asendate muudatusi oma filiaali nimega.

Kui ühendamine on edukas, saate seda teha kustutage haru kohapeal ja eemalt kui sa seda enam ei vaja:

Seotud: Kuidas Giti filiaali ümber nimetada

Git Rebase

Kui teil on mitu filiaali aegunud toimingutega, saate selle uuesti baasi muuta või ümber fokuseerida pea/ref nendest harudest pärida pea/ref uuendatud.

Seetõttu on ümberehitus kasulik, kui teil on vaja mõnda filiaali värskendada praeguse baasiga.

Uuestamine ei tohiks siiski olla sagedane tegevus, eriti kui töötate meeskonnaga, kuna see võib kogu töövoogu häirida. Aga kui töötate üksi ja olete oma töövoo ja harudega tuttav, ei tohiks ümberjaotamine laastada, kui teate, kus ja kuidas seda kasutada.

Oletame näiteks, et teil on kaks haru; haru1 ja haru2. Nüüd pole te mõnda aega filiaalis1 mingeid muudatusi teinud. Kuid teete pidevalt muudatusi filiaalis 2, sealhulgas hiljuti.

Nii otsustasite haru 1 koos vooluga kanda. Seepärast tähendab haru 1 harule 2 ümberpaigutamine seda, et käsite haru 1 ignoreerida selle varasemaid kohustusi ja pärida hiljuti filiaalile 2 tehtud kohustuse.

Seda saate teha järgmiselt.

Lülitu mahajäetud harule (branch1):

git checkout branch1

Seejärel taasalustage haru1 värskendatud harule2:

git rebase branch2

Git Squash

Git squash võimaldab teil ühendada mitu kohustust üheks. See aitab joostes git pühenduma mitu korda ühe värskendusega. Praktiline näide on see, kui iga üksiku funktsiooni veaparandusel või koodirefaktoril on eraldi seotus.

Kuid te ei pruugi soovida HEAD -i koos kaasnevatega suruda, kuna neil kõigil on sama eesmärk. Soovitatav lähenemine on need kokku lüüa, et vältida segadust kohustuste jälgimisel.

Parim viis kohustuste vähendamiseks on interaktiivne taasalustamise režiim. Selle paremaks mõistmiseks vaadake allolevat näidet.

Selles näites eeldage, et teil on viis veaparandust. Ja igaühe jaoks on olemas kohustus. Siin on viis viisi kohustusi üheks:

Jookse git reflog oma kohustuste räsikoodi vaatamiseks tehke järgmist.

git reflog

Siin on tulemus antud juhul:

Nüüd on teie eesmärk alustada viis viimast kohustust esimene parandus kuni viies parandus .

Selleks kopeerige allpool olev kohustuse räsikood esimene parandus ( 0a83962 ). Seejärel vajutage Q loobuda reflog .

Nüüd jookse git rebase -interaktiivne selle räsi peal.

git rebase --interactive 0a83962

Seejärel avab Git interaktiivse taasbaasifaili, mis näeb välja selline:

Kohustuste purustamiseks, välja arvatud esimene parandus , asendada valima koos s iga teine ​​kohustub:

Salvestage ja sulgege see fail.

Seejärel avaneb teine ​​fail, mille abil saate tihendatud kohustuse ümber nimetada:

Kas saate ekraani jagada discord -mobiilis

Puhastage need ja sisestage purustatud toimingu eelistatud nimi:

Salvestage see fail. Seejärel sulgege see ja peaksite oma terminalis saama eduteate.

Märge: Interaktiivne fail võib terminalis avaneda. Kuid kui kasutate Windowsi, võiksite oma terminali sundida oma lemmiktekstiredaktorisse failid globaalselt avama, et lihtsustada kokkusurumist.

Selleks avage oma käsurida ja käivitage:

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

Git Fork vs Git Clone

Kahveldamine ja kloonimine on Gitis kaks erinevat mõistet. Te ei saa oma hoidlat harutada, kuna see on teiega juba olemas. Saate aga teiste inimeste hoidla hargistada ja pärast seda kloonida.

Hoidla kahvimine tähendab, et haarate kellegi hoidlast koopia ja muudate selle omaks. Kui olete selle hoidla koopia saanud, saate selle kohalike muudatuste jaoks kloonida nagu iga git -hoidla.

Siin on, kuidas seda teha kloonida kaughoidlat GitHubis ja käivitage allalaadimine oma kohalikku kataloogi:

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

Taastage fail vaikeolekusse

Kui soovite pärast viimast toimingut failis tehtud muudatused kustutada, võite kasutada git taastada käsk:

git restore filename

Muuda kohustust

Saate eelmisele kohustusele tagasi pöörduda, kui unustate mõne faili muutmise ajal nende muudatused teha.

Tehke unustatud failis muudatusi. Seejärel kasutage git muuta kohustuse ülevaatamiseks:

git add file_forgotten
git commit --amend

Eemaldage failid

Saate eemaldada konkreetseid faile, mille olete kohustuse jaoks lavastanud, kasutades mine rm käsk:

git rm --cached filename

Samuti saate korraga eemaldada mitu faili:

git rm --cached file1 file2 file3 file4

Ärge unustage lisada vastava faililaiendi igale vabastatavale failile. Näiteks peaks olema lihttekstifail failinimi.txt .

Seotud: Kuidas puhastada Git ja eemaldada jälgimata failid

Giti lähtestamine

Kasutades git lähtestamine on abiks, kui soovite korraga kõik toiminguks lavastatud failid välja jätta.

git reset

Git reset HEAD osutab aga haru HEAD konkreetsele tööle teie tööpuus. Näiteks kui te pole oma praegust kohustust veel edasi lükanud, võite naasta hiljuti lükatud kohustuse juurde.

git reset --soft HEAD~1

Asenda -pehme koos -raske kui olete praegust kohustust juba lükanud:

git reset --hard HEAD~1

Mine tagasi

Erinevalt lähtestada käsk, mine tagasi säilitab teie kohustuste ajaloo terviklikkuse. See on mugav, kui soovite kohustust vigade või vigade tõttu muuta.

See ei loobu sihtmärgist ega tee uut. Selle asemel naaseb see hiljutiste muudatuste juurde, mida teete ilma sellist kohustust kustutamata või ümber nimetamata. See on suurepärane võimalus hoida oma kohustusi puhtamana, lisaks on see turvalisem kui kogu aeg lähtestamine.

Kohustusele naasmiseks toimige järgmiselt.

git revert HEAD~1

Kus PEA ~ 1 osutab konkreetsele kohustusele teie tööpuus.

Kustutage jälgitav fail või kataloog

Sa võid kasutada git rm -f kustutada kõik jälgitavad failid oma tööpuust. Pange tähele, et Git ei saa jälitamata faile eemaldada, kuna see ei vahemällu.

Etapiviisilise faili kustutamiseks toimige järgmiselt.

git rm -f filename

Etapiviisilise kausta eemaldamiseks toimige järgmiselt.

git rm -r -f foldername

Giti logimine

Oma lubade logide ja ajaloo vaatamiseks Gitis toimige järgmiselt.

git log

Tegevuste logimiseks konkreetses filiaalis tehke järgmist.

git log branch_name

Seotud: Kuidas kontrollida projekti ajalugu git logiga

Mõnikord võiksite naasta hüljatud kohustuse juurde. Hüljatud kohustuste, sealhulgas asjakohaste, vaatamiseks tehke järgmist.

git reflog

Konkreetse haru viitenumbrite vaatamiseks tehke järgmist.

git reflog branch_name

Hallake oma projekti versioone nagu Git

Tänu sellele, et Git pakub palju eeliseid, saate oma projekti väljalaskeid hallata eemalt ilma failide ja kaustade sissetungimiseta. Lisaks võimaldab see hõlpsalt meeskonnaga projekte juhtida.

Nagu nägite, on Gitil palju funktsioone, mida saate uurida. Kuid olge ettevaatlik, et neid funktsioone sihipäraselt kasutada. Vastasel juhul võite asju lõhkuda. See tähendab, et saate ikkagi demo kaughoidla kokku panna ja nende funktsioonidega mängida.

Jaga Jaga Piiksuma E -post Hallake oma failiversiooni nagu programmeerija Gitiga

Programmeerijad lõid failide versioonikontrolli probleemide lahendamiseks versioonikontrollisüsteemid (VCS). Vaatame versiooni juhtimise põhitõdesid, kasutades täna tippsüsteemi Git.

Loe edasi
Seotud teemad
  • Programmeerimine
  • Veebiarendus
  • GitHub
  • Kodeerimise õpetused
Autori kohta Idisou Omisola(Avaldatud 94 artiklit)

Idowu on kirglik kõige nutika tehnoloogia ja tootlikkuse vastu. Vabal ajal mängib ta kodeerimisega ja lülitab malelauale, kui tal on igav, kuid talle meeldib ka aeg -ajalt rutiinist lahti saada. Tema kirg näidata inimestele teed kaasaegses tehnoloogias motiveerib teda rohkem kirjutama.

Veel Idowu Omisolast

Telli meie uudiskiri

Liituge meie uudiskirjaga, et saada tehnilisi näpunäiteid, ülevaateid, tasuta e -raamatuid ja eksklusiivseid pakkumisi!

Tellimiseks klõpsake siin