Okay, ich habe offensichtlich ein kleines Problem hier zu verstehen, was ich tun muss, um dies richtig zu machen.Pushing Änderungen an Remote-Master nach Rebasing lokalen Zweig
Ich habe eine Menge Commits an den Remote-Master geschoben, den ich jetzt quetschen möchte. Um dies zu tun, habe ich eine git rebase -i HEAD~20
Sitzung gestartet und squash
verwendet, um Squash einige Commits in eins.
Nach einigen Konflikten, die ich lösen konnte, blieb mir eine "verkürzte" Version meines lokalen Zweigs - aber ich weiß nicht, wie ich das auf den entfernten Zweig bringen soll.
Wenn ich git status
ausführen wird mir sagen, dass die lokalen und Master-Zweig in 1 und 11 commits unterscheiden.
Wenn ich git pull
an diesem Punkt laufen würde die gesamte rebase
Aktion rückgängig gemacht und ich bin zurück, wo ich begann.
So im Wesentlichen ging ich von so etwas wie:
a b
o-->o-->o-->o-->o-->o
\ /
o-->o-->o
zu
a b
o-->o
aber nur lokal. Kann ich die Commits auf der Fernbedienung quetschen, wenn ich lokal drücke?
stash -> squash? – kaitoy
@kaitoy whops, sorry. es ist ziemlich früh für mich - geändert, dass: D – displayname
In der Regel erlauben die normalen Git-Workflows Sie nicht, Geschichte in der Fernbedienung neu zu schreiben (was Sie hier tun, ist Geschichte neu zu schreiben, entfernen diese 11 Commits aus dem Master-Zweig). Wenn Sie der einzige sind, der mit diesem entfernten Zweig arbeitet, können Sie 'git push -f' ausführen, wenn Sie die entsprechenden Berechtigungen haben. Sie sollten dies jedoch nicht tun, wenn andere Benutzer, die ebenfalls auf derselben Remote-Zweigstelle arbeiten, ebenfalls arbeiten. – Alderath