Å fjerne noe som ikke lenger er nødvendig, er en nødvendig handling. Det frigjør plass for nye elementer og forenkler vedlikeholdet av det som gjenstår. I dag skal vi se nærmere på ulike metoder for å slette en gren i GitHub.
Grener er uvurderlige for utviklere. Hvis du er en utvikler, vet du hva jeg snakker om. Hvis du er kjent med bruken av grener, kan du hoppe direkte til delen om sletting. Hvis du er nybegynner eller bare nysgjerrig, er det lurt å lese videre.
Hva er egentlig grener?
En gren er i bunn og grunn en peker til en spesifikk endring (commit). Å bare lese om grener er ikke nok for å forstå dem fullt ut. Vi må se hvordan de fungerer i praksis. La oss se på et par eksempler som illustrerer hvordan utviklere bruker grener i sine prosjekter. Hver sirkel i illustrasjonene representerer en commit.
La oss se på et typisk scenario for hvordan grener brukes i praksis:
- Tenk deg at du er del av et produktutviklingsteam.
- En dag kommer teamlederen til deg og sier: «Vi har noen feil i produktet som må rettes.»
- Du svarer: «Selvfølgelig.»
- Git-historikken ser i utgangspunktet slik ut.
Git Commits
- Jobber du direkte fra mastergrenen?
- Sannsynligvis ikke. Hvis du jobber direkte fra mastergrenen, kan det oppstå alvorlige problemer senere. Vi skal se et eksempel på dette om litt.
- Du velger å opprette en ny gren fra mastergrenen for å fikse feilene. Begge grenene peker foreløpig til samme commit.
- Du begynner å jobbe med feilrettingene og gjør 5 commits. Din nye gren har nå gått videre.
- Din nye gren peker nå til commit C8, mens mastergrenen fremdeles peker til C3.
- Plutselig skjer det noe uventet. Teamlederen kommer igjen og sier: «Vi har en kritisk feil som må rettes umiddelbart!»
- Det er mye å ta tak i.
- Du jobber allerede med feilrettinger. Nå er det enda viktigere feil som må løses.
- Du må derfor bytte fokus.
- Hva med koden du allerede har skrevet?
- Det er ikke noe problem siden du opprettet en egen gren for de første feilrettingene. All koden du har jobbet med, er trygt lagret i denne grenen.
- Bytt nå tilbake til mastergrenen og opprett en ny gren kalt «kritisk-feilretting» for å jobbe med de nye feilene.
- La oss si at du ikke hadde opprettet en egen gren for de første feilene. Hva hadde skjedd da?
- Du måtte ha slettet all koden du hadde skrevet og begynt på nytt med de nye feilene. Senere måtte du ha skrevet koden for de første feilene igjen.
- Dette er nettopp det problemet grener hjelper oss med å unngå.
- Grener gir oss mulighet til å utvikle kode uavhengig.
- La oss si at du har skrevet litt kode for å rette de nye feilene og committed disse.
- Du har nå fullført feilrettingen.
- Du bytter tilbake til den forrige feilgrenen og fortsetter å jobbe med den.
Du styrer altså ting veldig effektivt ved hjelp av grener. Det er ingen rot. Uten grener ville vi hatt en mye vanskeligere situasjon.
Konklusjonen er klar: Grener er en gave til utviklere. La oss nå se hvordan man sletter en gren.
Sletting av grener ved hjelp av Git Client
Når vi snakker om å slette en gren, mener vi å slette den både lokalt og eksternt. Så ikke bli forvirret når vi sletter den samme grenen to ganger. La oss se fremgangsmåten for å slette en gren.
- Åpne terminalen eller cmd og naviger til git-repoet.
- Vis grenene i repoet med kommandoen
git branch -a
. Denne kommandoen viser både lokale og eksterne grener.
- Kopier navnet på grenen du vil slette. I eksempelet ovenfor er det «en».
- Bytt til hovedgrenen (master eller main) eller en annen gren som ikke er den du skal slette.
- Slett grenen lokalt med
git branch -d branchName
. ErstattbranchName
med det faktiske navnet på grenen.
- Sjekk grenene med kommandoen
git branch -a
. Du vil fortsatt se den slettede grenen på fjernlageret, fordi vi ikke har slettet den der ennå.
- For å slette grenen på fjernlageret, bruk kommandoen
git push remoteName -d branchName
. ErstattremoteName
ogbranchName
med de korrekte navnene.
- Det finnes en snarvei for å slette en gren eksternt:
git push remoteName :branchName
.
Sjekk grenene igjen. Den slettede grenen skal ikke finnes verken lokalt eller eksternt hvis du har fulgt trinnene riktig.
Hvis du prøver å slette en gren som ikke eksisterer, vil du få en feilmelding om at grenen ikke ble funnet.
Det var det! Vi har nå slettet en gren både lokalt og eksternt.
Det finnes også en litt annen måte å gjøre det på, ved hjelp av GitHub-nettappen.
La oss se på den.
Sletting av gren ved hjelp av webgrensesnitt
Det er ikke stor forskjell mellom den forrige metoden og denne. Her bruker vi GitHubs webgrensesnitt for å slette den eksterne grenen. Den lokale grenen slettes på samme måte som i den forrige metoden.
La oss se hvordan du sletter den eksterne grenen ved hjelp av GitHubs nettapplikasjon:
- Gå til GitHub.
- Logg inn på kontoen din.
- Naviger til repoet der du vil slette en gren.
- Klikk på «grener»-knappen for å se alle grenene i repoet.
- Du vil se alle grenene til repoet.
- Du vil også se et sletteikon ved siden av hver gren.
- Klikk på sletteikonet for å slette grenen på fjernlageret.
- Du kan gjenopprette grenen ved å klikke på «Gjenopprett»-knappen. Denne knappen er tilgjengelig til du oppdaterer eller lukker siden.
Nå har vi slettet grenen på fjernlageret. Gå til det lokale repoet og slett den lokale grenen ved hjelp av kommandoen vi så i den første metoden.
Kjør kommandoen git branch -a
for å sjekke alle grenene.
Vi ser fortsatt den slettede eksterne grenen i listen. Hva skjer her? Hvordan løser vi dette? La oss se på et scenario der du kan oppleve dette på jobben.
Anta at du jobber i et team. Teamlederen din sletter en ekstern gren når en bestemt oppgave er utført. Hvordan finner du ut av det? Er det noen måte å vite om eksternt slettede grener?
Vi må synkronisere de lokale og eksterne repoene for å få med oss informasjon om slettede grener. Det finnes noen kommandoer for å gjøre det:
git remote prune remoteName
git fetch -p remoteName
-p
er en forkortelse for prune i den andre kommandoen. Begge kommandoene fjerner referansene til de eksterne grenene.
Kjør nå kommandoen git branch -a
for å sjekke grenlisten igjen.
Du vil se at den eksterne grenen ikke lenger vises i listen. Den lokale grenen eksisterer imidlertid fortsatt. Det er ikke noe problem, du kan velge å beholde eller slette den.
Sjekk altså for lokale grener som ikke lenger finnes på fjernlageret, og slett dem.
Nå er grenene dine ryddige og du er klar for neste oppgave.
Konklusjon
De fleste foretrekker å bruke terminalen for alle git-operasjoner. Det er praktisk, men ikke nødvendig. Det er et spørsmål om personlig preferanse.
Uansett hvilket verktøy eller metode du bruker, er resultatet det samme. Velg den som passer deg best, og følg den for å fullføre oppgaven – som består av å slette en gren i to steg: lokalt og eksternt.
Deretter kan du se på hvordan du sletter et helt GitHub-repo.
Lykke til med utviklingen! 🙂
Likte du denne artikkelen? Hva med å dele den med andre?