Forgrening er en kjernefunksjon i Git. Det er hvordan du kan jobbe med en bestemt funksjon eller programvarekomponent uten å bryte koden.
Det er muligheten for deg som utvikler å gjøre betydelige endringer i kildekoden din og velge hva du vil gjøre med endringene. Uansett kan du slå dem sammen til eller forkaste dem fra hele prosjektet.
Hvis du har interagert med Git, har du kanskje allerede lagt merke til at det er flere måter å lage grener på. Hvis du er en kommende utvikler og ikke har møtt Git ennå, vil det å vite hvordan du bruker versjonskontrollverktøy spare deg for betydelig tid; hvis ikke, gjør utvikleropplevelsen din interessant.
Dette innlegget er taktisk rettet for å hjelpe deg med å lage Git-grener jevnt som en del av din definerte arbeidsflyt. Til slutt vil du ha tilegnet deg solide ferdigheter som du kan bruke til å vedlikeholde dine GitHub-lagre.
Merk: Hvis du er en ny utvikler, vennligst sjekk ut hvordan du setter opp GitHub-kontoen din før du går videre. Hvis du allerede har gjort dette, gå til fremgangsmåten-delen. En oppfriskning vil imidlertid være flott for å styrke læringen din.
Innholdsfortegnelse
Hva er Git Branches?
Kilde: atlassian.com
En gren i Git innebærer en versjon av depotet ditt som er avvikende fra hovedprosjektet ditt (tilgjengelig i alle moderne versjonskontrollsystemer). Enkelt sagt, du går til side fra hovedlinjen for utvikling og jobber uten å rote med den originale linjen.
Mange tilgjengelige versjonskontrollprogramvare (VCS)-verktøy bruker denne teknikken som innebærer å lage en ny kopi av kildekodekatalogen. Når du arbeider med større prosjekter, kan replikering av kildekoden ta litt tid. På den lyse siden av ting, er det din sjanse til å eksperimentere med endringer i koden din.
Gits forgreningsmodell regnes som en «killer-funksjon» og plasserer Git på et eget nivå blant andre verktøy i VCS-fellesskapet. Git-operasjonsmodellen er enkel og gjør forgreningsoperasjoner nesten øyeblikkelig, og bytter også gjennom et par flere. Hvis du mestrer Git-forgreningsmodellen, låser du opp kraftige funksjoner og verktøy som kan øke utviklingsferdighetene dine. Så, hva er greia med grener?
Hvorfor du trenger Git-grener
Git-grener spiller en nøkkelrolle i Git-versjonskontrollsystemet. Her er noen grunner til at du trenger Git-grener:
✅ Parallell utvikling – Moderne programvare er kompleks, og mange utviklere jobber ofte sammen for å bygge programvaren. Filialer lar forskjellige utviklere jobbe med forskjellige funksjoner. I andre tilfeller kan det være å fikse feil uten arbeidskollisjoner. Hver gren er en inngangsport til en ny utviklingslinje. Du kan enkelt bytte mellom grener mens du arbeider med bestemte funksjoner.
✅ Samarbeid – Git-grener lar deg jobbe med andre utviklere på en felles kodebase. Du kan opprette nye grener, gjøre kodeendringer og skyve dem til det delte depotet, der andre utviklere kan gjennomgå bidragene dine før du slår dem sammen til hovedgrenen.
✅ Eksperimentering – Du kan bruke git-grener til å teste nye funksjoner før du slår sammen til og uten å påvirke hovedgrenen. Det er din sjanse til å prøve en ny tilnærming til å løse et problem. Og hvis de nye metodene i koden din fungerer riktig, kan du slå dem sammen til hovedgrenen.
✅ Utgivelsesadministrasjon – Du kan bruke filialer til å administrere utgivelser. Du kan opprette hver gren knyttet til en spesifikk utgivelse i arbeidsprosjektet ditt. Dette lar deg fikse feil og gjøre endringer uten å påvirke hovedutviklingsgrenen.
✅ Versjonskontroll – Du kan bruke Git-grener for versjonskontroll; i dette tilfellet vil hver gren representere en ny versjon av programvaren din. Som utvikler er det best å bruke filialer for hver programvareutgivelse og spore endringer, som du bruker til å administrere forskjellige kodebaseversjoner.
Komme i gang med Git – En oppfriskning
Nå som du forstår «hvorfor», er det på tide å ta et nytt skift og ta hensyn til «hvordan».
Fremover bør du allerede ha satt opp GitHub-kontoen din. Hvis du fortsatt trenger det, vennligst gjør det. Denne delen er praktisk.
Git checkout-kommandoen i Git innebærer å bytte mellom forskjellige versjoner av målenheten din. I noen nettbaserte utviklermiljøer refererer begrepet «utsjekking» til utføringen av betalingskommandoen. Denne kommandoen opererer på tre enheter; filialer, filer og forpliktelser.
Sjekker ut en filial
Du kan bruke git branch-kommandoen til å lage grener som du navigerer gjennom ved å bruke git checkout. Når du sjekker ut en filial, oppdaterer du filene i arbeidskatalogen for å matche versjonen som er lagret der.
Med andre ord, du ber Git om å registrere alle forpliktelsene dine i grenen (endre utviklingslinjen). Å bruke dedikerte grener for nye funksjoner i utviklingen er et skifte fra den gamle subversion (SVN) arbeidsflyten og gjør det enkelt å jobbe med kode i alle tilfellene som er uthevet i delen Hvorfor du trenger grener.
Kommandoen git checkout skal ikke forveksles med git clone. Den første brukes til å bytte mellom kodeversjoner, mens den siste henter kode fra et eksternt depot.
Bruk av eksisterende grener
Hvis depotet du jobber med har eksisterende grener, kan du visualisere dem på kommandolinjegrensesnittet ditt ved å bruke kommandoen git branch.
De tilgjengelige grenene er oppført, og den grønne er den du jobber med, forutsatt at du bruker Windows-operativsystemet og Visual Studio Code. For å bytte mellom grener, bruk git checkout branchname. Uttrykket «branchname» står for filialnavnet ditt, og i din virksomhet kan du følge hvilken som helst navnekonvensjon.
Opprette Git-grener
Anta at du er midt i programvareutviklingen og ønsker å legge til en ny funksjon. Den beste måten å nærme seg dette på er å lage en ny gren ved å bruke «git-grenen».
I praksis er det dette du taster inn på kommandolinjen:
git branch branchname
Dette betyr at du har opprettet en gren utenfor hoved-/mastergrenen (i de fleste tilfeller er det her du kjører liveprosjektet ditt). Navnet på den nye filialen din, i dette tilfellet, er «branchname».
For å bytte til din nye filial bruker du git checkout ; se nedenfor:
git checkout branchname
Hvis du er en utvikler, som liker å spare tid som meg, kan du opprette en filial og umiddelbart bytte til den ved å bruke «git checkout» med argumentet «-b» etterfulgt av filialnavnet ditt. I praksis kunne du bare ha gjort dette for å få lignende resultater som i våre tidligere trinn, se:
git checkout -b branchname
Parameteren «-b» forteller Git å kjøre git-grenen rett før du sjekker den ut. La oss se andre teknikker du kan bruke for å lage git-grener.
La oss utforske flere teknikker du kan bruke for å lage grener basert på dine behov:
#1. Opprette en gren fra din nåværende gren
Hvis du vil opprette en ny gren basert på din nåværende, er den beste metoden å bruke våre nyervervede ferdigheter:
git checkout -b <branchname>
Denne metoden oppretter og bytter deg automatisk til den nye grenen. For å bekrefte at du er på den nye filialen, skal terminalen din vise meldingen – byttet til et nytt filialnavn.
Hvis du er en ny utvikler, bør du være opptatt av å taste inn kommandoene på konsollen uten bøylen (<>). De er viktige for illustrasjon og forklaringer og bør ikke forveksles eller brukes feil.
#2. Opprette en gren fra en annen gren
Du kan opprette en ny gren basert på en annen eksisterende gren ved å legge til det grennavnet som utgangspunkt. Her er kommandoen:
git branch <new branch> <base branch>
Og i et praktisk tilfelle vil det være:
git branch new-branch branchname
Dette innebærer at «ny gren» er vår nye gren og «grennavn» er vår grunngren.
#3. Opprette en gren fra en forpliktelse
Hvis du vil basere din nye gren fra en commit (og ikke en gren), må du oppgi commit-hashen som utgangspunkt. Og for å finne commit-hashen som du oppretter grenen, kjør git log .
Commit-hashen er vanligvis en lang rekke tegn som begynner med «commit». Med commit-hashen kan du opprette den ved å kjøre kommandoen:
git branch <branch name> <commit-hash>
Du kan deretter bytte til din nye filial ved å sjekke den ut.
#4. Opprette en gren fra en tag
For å opprette en gren fra en bestemt etikett, finn etikettnavnet du vil opprette en gren fra. Kjør kommandoen git-taggen for å liste alle tilgjengelige tagger i depotet ditt.
Når du har identifisert tagnavnet, kjør git branch
#5. Opprette en gren ved å bruke frittstående HEAD-tilstand
Du kan bruke en atached HEAD-tilstand for å opprette nye grener som starter fra en spesifikk commit uten å bytte til den grenen umiddelbart. Denne teknikken er nyttig når du vil eksperimentere med de nye endringene dine uten å påvirke grenen du jobber med. Begynn med å finne commit-hashen du ønsker for å lage branch-use git-loggen.
Med commit hash, kjør: git checkout
#6. Opprett en gren fra en ekstern gren
Begynn med å opprette en lokal avdeling. Nå bør du være flink til å bruke: git checkout -b
Du skyver en gren til ekstern ved å: git push origin
#7. Opprette en gren i et eksternt depot
For å opprette en gren i et eksternt depot, få de siste endringene fra din eksterne repo ved å kjøre kommandoen git fetch. Etter å ha fått de siste oppdateringene, kan du opprette en ny filial ved å sjekke den ut. Og etter å ha sjekket ut, kan du pushe de nye endringene ved å:
git push -u <remote repo> <new branch name>
I operasjonene dine ville det være best å bruke opprinnelse (som i hvordan du opprettet en gren fra en ekstern gren). Det sparer deg for tid og reduserer sjansene for feil ved å skrive inn de eksterne reponavnene dine.
GitHub nettgrensesnitt
Alle oppgaver utført på kommandolinjen kan replikeres ved hjelp av kommandolinjegrensesnittet. For å opprette en ny gren, gå til prosjektlagersiden din og se etter grener øverst til venstre – ofte master/main.
Hvis du klikker på den, vil en liste over tilgjengelige grener vises nedenfor, et tekstfelt du kan bruke til å finne eller opprette en gren.
For å opprette en gren, skriv inn navnet i tekstfeltet. Nettgrensesnittet er automatisert og lar deg lage grener fra spesifikke elementer som tagger, grener og forpliktelser. Og hvis du er ny på forgrening, kan det å sjekke ut GitHubs filialdokumenter spare deg for problemer i fremtidige utviklere.
Siste ord
Etter å ha lært flere teknikker for å lage Git-grener, kan du nå inkorporere dine nyervervede ferdigheter i programvareutviklingen din med en jevn Git-arbeidsflyt.
Det beste forgreningsalternativet vil i stor grad stole på teamet ditt: arbeidsflytkriterier og hendelsesforekomster. For eksempel, hvis du ber om en samarbeidspartners innspill, kan de opprette filialer eksternt og chip uvurderlige bidrag.
Du har sett hvordan Git branching gir deg en kraftig mekanisme for å jobbe mer effektivt med programvareprosjekter. Og mens det er andre Git-kontrollalternativer, har dette innlegget vist deg hvordan du navigerer deg frem med Git-grener på kommandolinjen, og jeg får deg til å føle deg mer selvsikker ved å bruke Git.
Etter å ha styrket kunsten din med å lage grener, vil du være mer spent på å sjekke ut guiden vår om sletting av GitHub-grener.