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
?
Antworten
Zu viele Anzeigen?
EpicPandaForce
Punkte
75417
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
Pober Wong
Punkte
118
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 )
- See previous answers
- Weitere Antworten anzeigen