Android

Sådan slettes en lokal og fjern git-gren

How (and Why) You Should Use Git by Anna Whitney

How (and Why) You Should Use Git by Anna Whitney

Indholdsfortegnelse:

Anonim

Grener er en del af den daglige udviklingsproces og en af ​​de mest kraftfulde funktioner i Git. Når en gren er slået sammen, tjener den intet formål bortset fra historisk forskning. Det er almindelig og anbefalet praksis at slette grenen efter en vellykket fusion.

Denne vejledning dækker, hvordan man sletter lokale og fjerne Git-grene.

Slet en lokal Git-filial

For at slette en lokal Git-gren skal du bruge kommandoen git branch med indstillingen -d (- --delete ):

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 meddelelsen ovenfor siger, kan du tvinge sletningen ved hjælp af indstillingen -D , som er en genvej til - --delete --force :

git branch -D branch_name

Bemærk, hvis du sletter en ikke-grenet gren, mister du alle ændringerne på den gren.

Hvis du vil liste alle de grene, der indeholder ikke-oprettede ændringer, skal du bruge kommandoen git branch --no-merged .

Hvis du prøver at fjerne den aktuelle filial, får du følgende meddelelse:

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

Du kan ikke slette den filial, du i øjeblikket er i. Skift først til en anden gren og slet derefter branch_name :

git checkout master git branch -d branch_name

Slet en ekstern Git-filial

I Git er lokale og fjerntliggende grene separate objekter. Sletning af en lokal filial fjerner ikke fjerngrenen.

For at slette en fjerngren skal du bruge git push kommandoen med indstillingen -d (- --delete ):

git push remote_name --delete branch_name

Hvor remote_name normalt er origin :

git push origin --delete branch_name

… - branch_name

Der er også en alternativ kommando til at slette en fjern gren, det vil sige i det mindste for mig, der er sværere at 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 situationer som dette skal du synkronisere din grenliste med:

git fetch -p

Indstillingen -p fortæller Git om at fjerne eventuelle fjernsporingsreferencer, der ikke længere findes på fjernlageret før hentning.

Konklusion

I denne tutorial har du lært, hvordan du sletter lokale og fjerne Git-grene. Grener er dybest set en henvisning til et snapshot af dine ændringer og har en kort livscyklus. Når grenen er fusioneret ind i masteren (eller en anden hovedgren), er den ikke længere nødvendig og bør fjernes.

Med kommandoen git branch kan du også omdøbe, oprette og liste lokale og eksterne Git-grene.