在git中恢复大多数前n个提交

时间:2015-09-02 08:02:55

标签: git

如何在git中恢复前3个提交?

例如:

git revert -n master~3..HEAD

这是正确的语法吗?

2 个答案:

答案 0 :(得分:2)

使用bellow命令恢复最后三次提交,假设您在主分支中。

您应该在命令中使用tha分支名称而不是HEAD

git revert master~3..master

答案 1 :(得分:2)

取决于你想要什么。如果您的代码尚未推送到主数据库,我更倾向于使用git reset撤消提交,您可以使用git reset --soft撤消提交,但保持文件不变,如果您想要更改通常会发生这种情况提交顺序,或修复较旧的提交(在将其推送到主控之前)。

git reset --soft HEAD~3

将恢复最后3次提交并保留代码(以便稍后编辑和重新提交)。

git reset --hard HEAD~3 

将恢复上次提交并放弃对文件的所有更改。

git revert通常会创建一个新的提交并保持git历史记录不变,这通常(在推送到master之前)你不想要,但如果代码已经被推送到master,那就完美了。

git revert HEAD~3

将创建一个新的提交,以恢复最后三次提交。