Slik sletter du en Git-gren både lokalt og eksternt

I de fleste tilfeller er det enkelt å slette en Git-gren. Du lærer hvordan du sletter en Git-pakke lokalt og eksternt i denne artikkelen.

TL; DR-versjon

// delete branch locally git branch -d localBranchName // delete branch remotely git push origin --delete remoteBranchName 

Når skal du slette grener

Det er vanlig at en Git-repo har forskjellige grener. De er en fin måte å jobbe med forskjellige funksjoner og reparasjoner mens du isolerer den nye koden fra hovedkodebasen.

Repos har ofte en mastergren for hovedkodebasen, og utviklere lager andre grener for å jobbe med forskjellige funksjoner.

Når arbeidet er fullført med en funksjon, anbefales det ofte å slette grenen.

Slette en filial LOKALT

Git lar deg ikke slette grenen du befinner deg på, så du må sørge for å sjekke ut en filial som du IKKE sletter. For eksempel:git checkout master

Slett en gren med git branch -d .

For eksempel: git branch -d fix/authentication

Det -dalternativet vil slette grenen bare hvis det har allerede blitt presset og fusjonert med fjern grenen. Bruk i -Dstedet hvis du vil tvinge at grenen skal slettes, selv om den ikke har blitt presset eller slått sammen ennå.

Filialen slettes nå lokalt.

Slette en filial FJERNT

Her er kommandoen for å slette en gren eksternt: git push --delete .

For eksempel: git push origin --delete fix/authentication

Filialen slettes nå eksternt.

Du kan også bruke denne kortere kommandoen for å slette en gren eksternt: git push :

For eksempel: git push origin :fix/authentication

Hvis du får feilen nedenfor, kan det bety at noen andre allerede har slettet grenen.

error: unable to push to unqualified destination: remoteBranchName The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to '[email protected]_name' 

Prøv å synkronisere grenlisten din ved å:

git fetch -p 

De -pflagg betyr "sviske". Etter henting blir grener som ikke lenger eksisterer på fjernkontrollen slettet.