更容易还原提交的方法

时间:2015-07-07 11:55:10

标签: git version-control

我有这样的历史回购:

H
|
C
|
M
|\
| X
| |
| B
| |
| A
|/
R

现在我需要恢复X提交。问题 - 在M-C-H下隐藏了许多提交,有些文件需要完全重写。有什么技巧可以简化这个吗?

1 个答案:

答案 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