我有这样的历史回购:
H
|
C
|
M
|\
| X
| |
| B
| |
| A
|/
R
现在我需要恢复X提交。问题 - 在M-C-H下隐藏了许多提交,有些文件需要完全重写。有什么技巧可以简化这个吗?
答案 0 :(得分:0)
使用git rebase -i
删除提交X,然后自动重新设置提交X。
因此,如果xxx
是提交X的SHA,请运行:
git rebase -i xxx^
然后编辑文件以删除(或注释)显示xxx
的行pick xxx This is the X commit < delete this line
pick mmm This is the M commit
pick ccc This is the C commit
pick hhh This is the H commit
保存文件后,它将执行重写。如果通过这样做引入了冲突,您需要手动解决这些冲突,对冲突的文件执行git add
,完成所有操作后,git rebase --continue