有没有一种更喜欢的方法可以回滚之前提交的某些部分,类似于部分还原未暂存更改(git checkout -p
)和部分添加未暂存更改(git add -p
)的方式?
即,我有一个提交在多个(甚至是许多)提交之前,其中包含想要和不想要的更改,我想选择性地还原其中一些更改而保留其他更改。
我的当前工作流程并不愉快:
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
祈祷补丁成功安装