如何在 git 中恢复前 3 个提交?
例如:
git revert -n master~3..HEAD
这是正确的语法吗?
最佳答案
取决于你想要什么。如果你的代码还没有推送到 master,我更喜欢使用 git reset
来撤销提交,你可以使用 git reset --soft
来撤销提交,但是保留文件保持不变,如果您想更改提交顺序或修复较旧的提交(在将其推送到 master 之前),通常会发生这种情况。
git reset --soft HEAD~3
将恢复最后 3 次提交并保留代码(稍后编辑和重新提交)。
git reset --hard HEAD~3
将恢复最后一次提交并放弃对文件的所有更改。
git revert
通常会创建一个新提交并完整保留 git 历史记录,这通常(在推送到 master 之前)是您不想要的,但如果代码已经推送到则它是完美的大师。
git revert HEAD~3
将创建一个新的提交来恢复最后三个提交。
https://stackoverflow.com/questions/32347710/