Git

Grunnleggende om Git Branch

Grunnleggende om Git Branch

Grunnleggende om Git Branching

Evnen til å enkelt forgrene seg er en av de beste funksjonene i Git. Å lage filialer i andre versjonskontrollsystemer kan være dyrt når det gjelder plass og behandlingskrav. Git-forgrening er effektiv. Så brukere er mer tilbøyelige til å bruke filialer i Git.

En filialarbeidsflyt

La oss anta at du startet et nytt prosjekt kalt myvideogame. Den har en enkelt gren. Standardnavnet til den første grenen i Git kalles master. Det opprettes automatisk.  La oss lage myvideogame Git repository.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Du har opprettet et tomt Git-arkiv. La oss legge til designet vårt.txt-fil med litt tekst i.

$ echo "Designbeslutning 1: Legg til bilder" >> design.tekst
$ echo "Design Decision 2: Write Code" >> design.tekst
$ git add -A
$ git commit -m "C0: Lagt til designfil"

La oss legge til noen flere endringer:

$ echo "Design Decision 3: Test Game" >> design.tekst
$ git add -A
$ git commit -m "C1: Modified Design File"

Hvis du sjekker historikken, finner du:

$ git log --online
6a09bd6 C1: Modifisert designfil
5f18d89 C0: Lagt til designfil

Hvis du sjekker Git-status og alle grener som ble opprettet (ved hjelp av kommandoen: git branch -a), ser du:

$ git-status
På grenmester
ingenting å begå, arbeider katalogen ren
 
$ git gren -a
* mester

For øyeblikket har du følgende situasjon:

Du har gjort to forpliktelser i mastergrenen.

La oss anta at du har funnet feil i spilletesten din, men du vil ikke løse problemet i hovedgrenen fordi du ikke vil rote med det originale designet ennå. Så du kan opprette en ny gren som heter bugfix:

$ git branch bugfix

Nå hvis du sjekker alle grener:

$ git gren -a
feilretting
* mester

Nå har du opprettet en ny gren som heter bugfix. Situasjonen kan visualiseres slik:

Stjernen (*) ved siden av hovedgrenen betyr imidlertid at du fortsatt er i mesteren. Hvis du gjør endringer, vil den fortsatt gå inn i hovedgrenen. Du kan bruke kassen til å endre grener:

$ git checkout bugfix
Byttet til gren 'bugfix'

Du kan sjekke hvilken gren du bruker med status eller “gren -a” kommando:

$ git-status
På feilrettingen på grenen
ingenting å begå, arbeider katalogen ren
 
$ git gren -a
* feilretting
herre

La oss nå fikse feilen:

$ echo "Bug Fix 1" >> design.tekst
$ git add -A
$ git commit -m "C2: Bug Fixed 1"

Du har opprettet en situasjon som denne:

Hovedgrenen har ikke C2-endringen. Du kan enkelt bekrefte dette ved å sjekke historien til de to grenene.

Først historien til bugfix-grenen:

$ git-status
På feilrettingen på grenen
ingenting å begå, arbeider katalogen ren
 
$ git log --online
e8f615b C2: Feil løst 1
6a09bd6 C1: Modifisert designfil
5f18d89 C0: Lagt til designfil

Deretter kan du bytte til hovedfilial og sjekke historikken:

$ git checkout master
Byttet til gren 'master'
 
$ git-status
På grenmester
ingenting å begå, arbeider katalogen ren
 
$ git log --online
6a09bd6 C1: Modifisert designfil
5f18d89 C0: Lagt til designfil

Du kan se at hovedgrenen ikke har endringene fra bugfix-grenen.

Du kan alltid opprette en ny gren fra den nåværende filialen du befinner deg i. Anta at du vil opprette en annen gren som inneholder eksperimentelle funksjoner. Du kan opprette grenen fra master og legge til eksperimentelle funksjoner i den:

$ git-status
På grenmester
ingenting å begå, arbeider katalogen ren
 
$ git gren eksperimentell
$ git checkout eksperimentelt
Byttet til gren 'eksperimentell'
$ git-status
På eksperimentell gren
ingenting å begå, arbeider katalogen ren
 
$ echo "Legge til eksperimentfunksjoner" >> design.tekst
 
$ git add -A
 
$ git commit -m "C3: Lagt til eksperimentelle funksjoner"
[eksperimentell 637bc20] C3: Lagt til eksperimentelle funksjoner
1 fil endret, 1 innsetting (+)

Hvis du sjekker historikken til den eksperimentelle grenen din, ser du:

$ git-status
På eksperimentell gren
ingenting å begå, arbeider katalogen ren
 
$ git log --online
637bc20 C3: Lagt til eksperimentelle funksjoner
6a09bd6 C1: Modifisert designfil
5f18d89 C0: Lagt til designfil

Du vil merke at du ikke har C2-forpliktelsen som ble opprettet i bugfix-grenen. Fordi eksperimentell gren er opprettet fra hovedgren, ser den ikke feilreparasjonsendringene. Du har følgende situasjon:

Konklusjon

Gratulerer! Du har lært hvordan du forgrener deg.

Git-grener er enkle og raske å lage. Det er en av grunnene bak Gits popularitet. Hvis du vil bli en dyktig Git-bruker, må du bli dyktig i Git-forgrening.

Videre studier:

https: // git-scm.com / book / no / v2 / Git-Branching-Basic-Branching-and-Merging

Nyttige verktøy for Linux-spillere
Hvis du liker å spille spill på Linux, er sjansen stor for at du har brukt apper og verktøy som Wine, Lutris og OBS Studio for å forbedre spilloppleve...
HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...
Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...