445 Stimmen

Umbenennen von Zweigen aus der Ferne in Git

Wenn es ein Repository gibt, über das ich nur git:// Zugriff habe (und normalerweise nur push+pull machen würde), gibt es eine Möglichkeit, Zweige in diesem Repository auf die gleiche Weise umzubenennen, wie ich es lokal mit git branch -m ?

1voto

EpicPandaForce Punkte 75417

Ich weiß nicht, ob das richtig oder falsch ist, aber ich habe den "alten Namen" der Verzweigung auf den "neuen Namen" der Verzweigung verschoben und dann die alte Verzweigung mit den folgenden zwei Zeilen vollständig gelöscht:

git push origin old_branch:new_branch
git push origin :old_branch

1voto

arthur bryant Punkte 335

Ich weiß nicht, warum, aber die Antwort von @Sylvain Defresne funktioniert bei mir nicht.

git branch new-branch-name origin/old-branch-name
git push origin --set-upstream new-branch-name
git push origin :old-branch-name

Ich muss den Upstream deaktivieren und kann dann den Stream wieder einstellen. Das Folgende ist, wie ich es tat.

git checkout -b new-branch-name
git branch --unset-upstream
git push origin new-branch-name -u
git branch origin :old-branch-name

0voto

Pober Wong Punkte 118

Wenn Sie Github verwenden ...

Sie können einen neuen Zweig auf der Grundlage des Zweigs mit dem alten Namen erstellen, indem Sie die Benutzeroberfläche auf github.com verwenden:

Branch Rename

-4voto

myzzzl Punkte 13

Ergänzend zu den bereits gegebenen Antworten ist hier eine Version, die zuerst prüft, ob der neue Zweig bereits existiert (so dass Sie ihn sicher in einem Skript verwenden können)

if git ls-remote --heads "$remote" \
    | cut -f2 \
    | sed 's:refs/heads/::' \
    | grep -q ^"$newname"$; then
    echo "Error: $newname already exists"
    exit 1
fi
git push "$oldname" "$remote/$oldname:refs/heads/$newname" ":$oldname"

(der Scheck ist von diese Antwort )

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