给定一个已经使用commit提交,然后使用revert恢复的更改,那么撤消该恢复的最佳方法是什么?

理想情况下,这应该通过一个新的提交来完成,这样就不会重写历史。


当前回答

在最初意外删除所有文件的恐慌之后,我使用以下方法来取回我的数据

git reset HEAD@{1}         
git fsck --lost-found      
git show 
git revert <sha that deleted the files>

其他回答

要返回在提交后恢复的非暂存和暂存更改:

git reset HEAD@{1}

恢复所有未执行的删除操作:

git ls-files -d | xargs git checkout --

或者你可以用git checkout -b <new-branch> and git cherry-pick <commit> the before to the and git rebase to drop revert commit。像以前一样发送拉请求。

如果你还没有按这个改变,git重置-硬头^

否则,还原还原完全没问题。

另一种方法是git结帐HEAD^^——。然后git add -A && git提交。

如果你错误地做了一个还原:

git revert <commit-id>

你只需要运行:

git cherry-pick <commit-id>

我必须使用这个命令来提交我的更改。

你可以通过以下命令获取你的提交ID:

git log --pretty=format:"%h - %an, %ar : %s"

在最初意外删除所有文件的恐慌之后,我使用以下方法来取回我的数据

git reset HEAD@{1}         
git fsck --lost-found      
git show 
git revert <sha that deleted the files>