Et af de stærkeste træk ved Git er dens lette grene. De giver dig mulighed for at arbejde på parallelle udviklingsstadier effektivt. En udvikler kan endda oprette individuelle grene til separate fejl. I både tid og rum er grene næsten uden omkostninger.

Mange git-arbejdsgange beskæftiger sig med både langsigtede og midlertidige filialer. Derfor er der ofte behov for at slette grene under udviklingen. Der er lejlighedsvis et behov for at slette delte grene fra en ekstern server såvel som lokale grene.

Hvorfor slette en filial?

Først hvis du stadig er at få fat i git, der er en ret god chance for, at du opretter en filial og derefter beslutter, at du ikke behøvede det. Eller du eksperimenterer måske med grene og ønsker at rydde op efter dig selv. Dette er fint, da forgrening i git er en let operation. Det er meget hurtigt og bruger diskplads effektivt.

Sådan bruges Git-grene til at strukturere dit programmeringsprojekt

I denne artikel ser vi på, hvad forgrening af din kode betyder, hvordan man gør det, og måder at administrere opdateringer til den "vigtigste" git-gren.

instagram viewer

Som et resultat tilskynder mange git-udviklingsarbejdsprocesser til forgrening, selv til meget små eller korte opgaver. For eksempel er en fælles strategi at oprette en gren til en enkelt fejlrettelse. Dette gælder, selvom det kun involverer en enkelt forfatter, der foretager en ændring i en linje i en enkelt fil.

Af disse grunde er oprettelse og sletning af filialer operationer, der skal forstås godt. Det kan være, at du ofte sletter filialer under en typisk udviklingsworkflow.

Et prøveopbevaringssted med filialer

De følgende eksempler henviser til et prøveopbevaringssted med følgende struktur:

$ git gren -vv
1 dev 1ae41e8 [origin / dev] først begå
2 * hoved 1ae41e8 [oprindelse / hoved] første forpligtelse

Bemærk, at hver lokal filial har en tilsvarende opstrøms gren fra fjernbetjeningen: oprindelse.

Sletning af en gren ved hjælp af kommandolinjen

Den grundlæggende kommandosyntaks til sletning af en gren er:

git gren (-d | -D) [-r] ...

Den enkleste form for kommandoen sletter en lokal gren, forudsat at alle dens ændringer er blevet flettet:

$ git gren -d dev

Du kan ikke slette den gren, der aktuelt er aktiv; hvis du prøver at gøre det, får du en besked som denne:

fejl: Kan ikke slette gren 'main' tjekket ud ved '/ tmp / sandbox'

Når tingene går rigtigt, får du vist en bekræftelsesmeddelelse:

Slettet grenudvikling (var 1ae41e8).

Hvis du sletter en gren, der kun findes lokalt med ikke-flettede ændringer, mister du disse ændringer. Derfor vil git nægte at slette en filial i en sådan situation som standard:

fejl: Filialen 'dev' er ikke fuldt sammen.
Hvis du er sikker på, at du vil slette det, skal du køre 'git branch -D dev'.

Som fejlmeddelelsen informerer, kan du tvinge sletning med -D flag. Dog giver git dig mulighed for at slette en ikke-flettet lokal filial, hvis den findes eksternt:

advarsel: sletning af filial 'dev', der er blevet flettet til
'refs / fjernbetjeninger / oprindelse / dev', men endnu ikke fusioneret til HEAD.
Slettet grenudvikling (var 9a6d20b).

Sletning af en ekstern gren er helt anderledes. Du bruger git push kommando sammen med -d flag, der skal slettes. Derefter skal du angive fjernbetjeningens navn (ofte oprindelse) og filialens navn:

$ git push -d origin dev
Til github.com: bobbykjack / sandbox.git
- [slettet] dev

Sletning af lokale og eksterne grene med GitHub Desktop

I modsætning til kommandolinjens git-program, GitHubs desktop-app vil kun lade dig slette den aktive gren. Du kan udføre denne handling via Afdeling menu ved at vælge Slet mulighed og bekræfter det:

GitHub Desktop giver dig ikke mulighed for at slette standardgrenen - f.eks. main - selvom git selv støtter dette. Hvis standardgrenen er den, der aktuelt er aktiv, deaktiverer appen menuhandlingen.

Hvis grenen også repræsenterer en fjerngren, giver GitHub Desktop mulighed for også at slette den fra fjernbetjeningen:

Sletning af filialer ved hjælp af GitKraken

GitKraken viser dit arkivs lokale og eksterne grene i venstre sidebjælke. Du skal slette hver separat.

Hold markøren over det relevante filialnavn og klik på Afdeling handlingsmenu, der ligner tre lodrette prikker. Vælg i menuen Slet :

Du får vist en bekræftelsesmeddelelse, der informerer dig om, at dette er en destruktiv handling. Du kan bekræfte, at du vil fortsætte med Slet knap:

Hvis du afspejler git-kommandolinjeprogrammets standardadfærd, skal du først skifte til en anden gren end den, du sletter. Ellers får du vist en fejlmeddelelse:

Sletning af lokale og eksterne grene ved hjælp af Tower

Sletning af en filial med Tårn minder meget om at slette en gren med GitKraken. Lokale og fjerntliggende grene vises i et panel på venstre side. Højreklik på en vilkårlig gren, og vælg indstillingen Slet i genvejsmenuen:

En nøgleforskel er, at en ekstern gren kan slettes sammen med sin lokale filial under bekræftelse:

Sletning af en filial på GitHub

GitHub fungerer kun som en fjernkilde, så grene der er fjernbetjening som standard. Hvis du sletter en gren ved hjælp af GitHub-webstedet, skal du slette den tilsvarende lokale filial ved hjælp af en af ​​de andre metoder her.

Som med GitHub Desktop-appen tillader GitHub-webstedet dig ikke at slette standardgrenen. Indstillingen vises simpelthen ikke. Sletning af en gren er dog ligetil. Fra lageret Kode side, skal du klikke på grene link, find den gren, der skal slettes, og klik derefter på Slet denne gren ikon, der ligner en skraldespand:

Vær opmærksom på, at der ikke er nogen kontrol for unmerged ændringer, så på GitHub vil filialen simpelthen blive slettet med det samme. Men da det altid vil repræsentere en fjern gren, bør dette være den adfærd, du forventer.

Bemærk, at efter sletning vil du se en knap til Gendan grenen. Dette er dog simpelthen en nyttig fortrydelsesfunktion, hvis du ved et uheld klikker på sletteikonet. Stol ikke på det, for så snart du opdaterer eller navigerer væk fra siden, mister du muligheden!

Sletning af lokale og eksterne grene på Bitbucket

Bitbucket, som GitHub, giver dig ikke mulighed for at slette standardgrenen. Bitbucket kalder dette Hovedgren i Lagringsindstillinger. Du kan slette enhver anden gren, der er angivet på Grene fanen via dens tilsvarende Handlinger menu:

Du kan også slette mere end en gren på én gang, hvis du laver en stor oprydningsoperation:

Sletning af filialer er en del af en typisk Git-arbejdsgang

Git-grene kan komplicere din arbejdsgang, især en med lokale, eksterne og sporingsgrene. Men for enkel dag-til-dag-udvikling opretter og sletter du sandsynligvis lokale filialer hele tiden. Dette er et kerneaspekt af en typisk git-workflow, du skal vænne dig til.

E-mail
Sådan bruges Git-grene til at strukturere dit programmeringsprojekt

I denne artikel ser vi på, hvad forgrening af din kode betyder, hvordan man gør det, og måder at administrere opdateringer til den "vigtigste" git-gren.

Relaterede emner
  • Programmering
  • GitHub
Om forfatteren
Bobby Jack (23 artikler offentliggjort)

Bobby er en teknologientusiast, der arbejdede som softwareudvikler i det meste af to årtier. Han brænder for spil, arbejder som Reviews Editor i Switch Player Magazine og er fordybet i alle aspekter af onlineudgivelse og webudvikling.

Mere fra Bobby Jack

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft venligst din e-mail-adresse i den e-mail, vi lige har sendt dig.

.