Ich verwende git rebase -i
, um den Verlauf neu zu schreiben - in diesem Fall ändere eine kleine Änderung der Änderungsmenge eines früheren Commits. Mit anderen Worten,
Ich weiß, C
ändert sich auch implizit, aber Sie bekommen die Idee. Hier sind meine bisherigen Fortschritte:
git rebase -i HEAD~2
B
von keep
in edit
. git commit -a --amend
git rebase --continue
Ich habe die widersprüchlichen Zeilen in C
aufgelöst, bin mir aber nicht sicher, wie ich sie als aufgelöst markieren soll, damit die Rebase fortgesetzt werden kann. git commit --amend
versucht, B
zu ändern, während git rebase --continue
beschwert, dass der Arbeitsbaum schmutzig ist. (Und, tatsächlich, git status
zeigt die Datei als "beide modifiziert".)
Was muss ich tun, um diese Rebase wieder auf Kurs zu bringen?
Wenn Sie auf die Konflikte stoßen, sollten Sie eine Nachricht in etwa so sehen:
%Vor%Und genau das müssen Sie tun:
%Vor% Versuchen Sie nicht, commit --amend
zu verwenden. HEAD
(das aktuelle Commit) bezieht sich immer noch auf das gerade vorhergehende, da die Konflikte dieses Commit verhindert haben, so dass, wie Sie gesehen haben, nur das bereits angewendete Commit geändert wird. rebase --continue
wird fortfahren, um das neue Commit zu machen, das die aufgelösten Konflikte enthält.