Ich musste 7 Übertragungen von einem alten Zweig auf einen neuen Zweig verschieben.
git checkout old-branch # in the example, master
git reset --hard h4sh # h4sh is the hash for the commit
git checkout -b new-branch
git push origin new-branch
Danach waren beide Zweige mit den 7 Commits verbunden, die ich gemacht habe. Nach git checkout new-branch
Ich war gut drauf. git log
et git status
, aber beim Zugriff auf den alten Zweig ( git checkout old-branch
), bekam ich die Meldung "git ist um 7 Commits im Rückstand und kann vorgespult werden". Was bei mir funktionierte, um diese Meldung zu löschen, war die folgende Methode:
git checkout old-branch
git status
> git is behind by 7 commits and can be fast-forwarded
git push origin old-branch -f
Nach diesem Schritt wurden die letzten 7 Commits nur für den neuen Zweig referenziert und die vorherigen als alter Zweig und neuer Zweig im Bitbucket-Baum referenziert.
161 Stimmen
Anmerkung: Ich habe die gegenteilige Frage gestellt aquí
6 Stimmen
eddmann.com/posts/ dieser funktioniert
22 Stimmen
Wurden die Kommentare hier gelöscht? Ich frage, weil ich bei meinem zweimonatlichen Besuch dieser Frage immer an diesem Kommentar vorbeilaufe.
5 Stimmen
Nebenbemerkung: In der Frage geht es um einen sehr einfachen Fall. Wenn ich die Antworten lese und all die "tu das nicht, weil..." und "eine bessere Lösung ist..." und "Warnung mit Version n+..." gleich nach den Antworten (möglicherweise wenn es zu spät ist), scheint es mir, dass selbst sehr einfache Operationen keine einfachen Lösungen in Git haben. Ein grafischer Versionsverwalter, bei dem man einfach einen Tag für den neuen Zweig hinzufügen könnte, ohne sich mit einer mir obskur und archaisch erscheinenden Syntax auseinandersetzen zu müssen, wäre eine große Erleichterung. Mein Königreich und meine goldenen Abzeichen für den ersten, der git "forkt" und einen neuen Ansatz startet ;-) es ist dringend.
0 Stimmen
@mins Vielleicht ist TortoiseGit ein Schritt näher an dem, was Sie wollen. Das Schöne an Git ist, dass man die volle Kontrolle hat, aber das erfordert ein tieferes Verständnis und die Notwendigkeit, dass der Benutzer mit einer Befehlszeilenschnittstelle vertraut ist. Ich verwende Git nun schon seit einigen Jahren, aber ich verlasse mich immer noch auf die Dokumentation und/oder Stackoverflow, wenn ich weniger häufige Operationen durchführen muss. Ich arbeite gerne mit der Git-Befehlszeilenschnittstelle (ich verwende GitBash), da ich damit Dinge schnell erledigen kann. Zur Lösung von Konflikten wende ich mich jedoch an TortoiseGit, da ich dies einfacher finde.
3 Stimmen
Lesen Sie sich die ersten zehn Antworten (oder so) durch, denn die besten sind nicht die, die am meisten hochgestuft wurden.