还原后恢复已删除的文件 git
recovering deleted files git after revert
我有一个新的存储库。我通过
添加了一些文件 (a,b,c)
git add .
git commit -m "x"
我意识到文件 c 是不必要的,所以我通过
查找最后一次提交
git log
我用手头的提交 ID
git revert commit-id
它开始删除所有文件
删除文件 a b c
我怎样才能恢复它们?我查看了日志,只有原始提交 x 在那里。
我试过了
git checkout HEAD^^ -- .
根据How do I "un-revert" a reverted Git commit?
但我得到 "Invalid reference HEAD^^"
有什么想法吗?
你试过了吗
// It will reset your commit back to previous if its 2 commits back then use head~2 etc.
git reset head~1
- 通过执行
git reflog
获取您在其中添加文件的初始提交的提交哈希(这实际上是您分支的所有最新 HEAD 的日志 - 对于这种情况非常有用)。
- 如果您想永久返回此提交并完全 'undo' 您的还原,请执行
git reset --hard <commit-id>
将哈希替换为您添加文件的初始提交的哈希。如果您想暂时返回此提交,请执行 git checkout <commit-id>
.
进一步阅读git reflog
:http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
我有一个新的存储库。我通过
添加了一些文件 (a,b,c)git add .
git commit -m "x"
我意识到文件 c 是不必要的,所以我通过
查找最后一次提交git log
我用手头的提交 ID
git revert commit-id
它开始删除所有文件 删除文件 a b c
我怎样才能恢复它们?我查看了日志,只有原始提交 x 在那里。
我试过了
git checkout HEAD^^ -- .
根据How do I "un-revert" a reverted Git commit?
但我得到 "Invalid reference HEAD^^"
有什么想法吗?
你试过了吗
// It will reset your commit back to previous if its 2 commits back then use head~2 etc.
git reset head~1
- 通过执行
git reflog
获取您在其中添加文件的初始提交的提交哈希(这实际上是您分支的所有最新 HEAD 的日志 - 对于这种情况非常有用)。 - 如果您想永久返回此提交并完全 'undo' 您的还原,请执行
git reset --hard <commit-id>
将哈希替换为您添加文件的初始提交的哈希。如果您想暂时返回此提交,请执行git checkout <commit-id>
.
进一步阅读git reflog
:http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html