Android

Slik sletter du en lokal og ekstern gitgren

Paul Conneally: Digital humanitarianism

Paul Conneally: Digital humanitarianism

Innholdsfortegnelse:

Anonim

Grener er en del av den daglige utviklingsprosessen og en av de kraftigste funksjonene i Git. Når en gren er slått sammen, tjener den ikke noe formål bortsett fra historisk forskning. Det er vanlig og anbefalt praksis å slette grenen etter en vellykket fusjon.

Denne guiden dekker hvordan du sletter lokale og eksterne Git-grener.

Slett en lokal Git-gren

For å slette en lokal Git-gren bruker du git branch kommandoen med -d (- --delete ) -alternativet:

git branch -d branch_name

Deleted branch branch_name (was 17d9aa0).

error: The branch 'branch_name' is not fully merged. If you are sure you want to delete it, run 'git branch -D branch_name'.

Som meldingen over sier, kan du tvinge slettingen ved å bruke -D alternativet som er en snarvei for - --delete --force :

git branch -D branch_name

Vær oppmerksom på at hvis du sletter en ikke-grenet gren, mister du alle endringene på den grenen.

Hvis du vil liste alle grenene som inneholder uforandrede endringer, bruker du kommandoen git branch --no-merged .

Hvis du prøver å fjerne den nåværende grenen, får du følgende melding:

error: Cannot delete branch 'branch_name' checked out at '/path/to/repository'

Du kan ikke slette grenen du er i nå. Bytt først til en annen gren og slett deretter branch_name :

git checkout master git branch -d branch_name

Slett en ekstern Git-gren

I Git er lokale og avsidesliggende grener separate objekter. Hvis du sletter en lokal gren, fjernes ikke den eksterne grenen.

For å slette en ekstern gren bruker du git push kommandoen med alternativet -d (- --delete ):

git push remote_name --delete branch_name

Hvor remote_name vanligvis er origin :

git push origin --delete branch_name

… - branch_name

Det er også en alternativ kommando for å slette en ekstern gren, det vil si i det minste for meg vanskeligere å huske:

git push origin remote_name:branch_name

error: unable to push to unqualified destination: branch_name 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]:/my_repo'

I situasjoner som dette, må du synkronisere grenlisten din med:

git fetch -p

Alternativet -p forteller Git om å fjerne referansene for ekstern sporing som ikke lenger finnes på fjernlageret før henting.

Konklusjon

I denne opplæringen har du lært hvordan du kan slette lokale og eksterne Git-grener. Grener er i utgangspunktet en referanse til et øyeblikksbilde av endringene dine og har en kort livssyklus. Når grenen er slått sammen til masteren (eller en annen hovedgren), er den ikke lenger nødvendig og bør fjernes.

Med git branch kommandoen kan du også gi nytt navn, opprette og liste lokale og eksterne Git-grener.