824 Stimmen

Wie kann man die Verfolgung eines entfernten Zweigs in Git beenden?

Wie kann man die Verfolgung eines entfernten Zweigs in Git ?

Ich bitte darum, die Verfolgung zu beenden, da ich in meinem konkreten Fall den lokalen Zweig löschen möchte, nicht aber den entfernten. Wenn ich den lokalen Zweig lösche und die Löschung an den entfernten Zweig übertrage, wird auch der entfernte Zweig gelöscht:

Kann ich einfach tun git branch -d the_branch und es wird nicht weitergegeben, wenn ich später git push ?

Wird es sich nur ausbreiten, wenn ich das Programm git push origin :the_branch später?

4voto

Danny Kopping Punkte 4384

Hier ist ein Einzeiler, um alle Remote-Tracking-Zweige zu entfernen, die einem Muster entsprechen:

git branch -rd $(git branch -a | grep '{pattern}' | cut -d'/' -f2-10 | xargs)

1voto

qneill Punkte 1565

Dies ist keine Antwort auf die Frage, aber ich konnte nicht herausfinden, wie man eine anständige Code-Formatierung in einem Kommentar oben zu bekommen... so Auto-Down-Ruf-be-damned hier ist mein Kommentar.

Ich habe das von @Dobes eingereichte Rezept in einem ausgefallenen [alias]-Eintrag in meiner .gitconfig:

# to untrack a local branch when I can't remember 'git config --unset'
cbr = "!f(){ git symbolic-ref -q HEAD 2>/dev/null | sed -e 's|refs/heads/||'; }; f"
bruntrack = "!f(){ br=${1:-`git cbr`};  \
    rm=`git config --get branch.$br.remote`; \
    tr=`git config --get branch.$br.merge`; \
    [ $rm:$tr = : ] && echo \"# untrack: not a tracking branch: $br\" && return 1; \
    git config --unset branch.$br.remote; git config --unset branch.$br.merge; \
    echo \"# untrack: branch $br no longer tracking $rm:$tr\"; return 0; }; f"

Dann kann ich einfach laufen

$ git bruntrack branchname

0voto

Mark Caudill Punkte 134

Am einfachsten ist es, den Zweig aus der Ferne zu löschen und dann zu verwenden:

git fetch --prune (auch bekannt als git fetch -p)

-1voto

Bob Punkte 127

git branch --unset-upstream nicht mehr alle lokalen Zweigstellen verfolgen, was nicht wünschenswert ist.

Entfernen Sie die [branch "branch-name"] Abschnitt aus dem .git/config Datei, gefolgt von

git branch -D 'branch-name' && git branch -D -r 'origin/branch-name'

funktioniert für mich am besten.

-4voto

Hưng Punkte 1

Sie können Ihren entfernten Zweig auf folgende Weise entfernen

git remote remove <your remote branch name>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X