Gibt es eine bevorzugte Methode zum Zurücksetzen eines Teils eines früheren Commits im Sinne einer teilweisen Umwandlung nicht gestellter Änderungen (git checkout -p
) und teilweise Hinzufügen nicht gestellter Änderungen (git add -p
)?git selective revert (äquivalent zu `git revert --patch`)
d. H. Ich habe mehrere (oder sogar viele) commits zurück, die sowohl unerwünschte als auch unerwünschte Änderungen enthalten, und ich möchte einige dieser Änderungen selektiv rückgängig machen, während andere beibehalten werden.
Mein aktueller Workflow ist nicht Spaß:
git diff commit commit^ > selective.diff
cp selective.diff selective2.diff
nvim selective2.diff
# change unwanted - to ' ' and remove unwanted +, then save
rediff selective.diff selective2.diff | rewrite selective2.diff
git apply selective2.diff
und beten das Pflaster