我可以用git丢失承诺的工作吗?

时间:2011-09-01 19:17:52

标签: git

是否有可能在git中失去工作?我们假设我的所有工作都已提交,而且我没有运行git gc。 如果我尝试一些“时髦命令”(不是rm -rf .git),并且我的项目发生了一些奇怪的事情,我可以从中恢复吗? 特别是我应该避免做什么吗?或者在尝试之前将存储库克隆到别处?

1 个答案:

答案 0 :(得分:6)

您使用git制作的大多数错误都可以通过使用reflog来恢复。一个例外是删除你的分支,因为当然会删除相关的reflog。如果发生这种情况,你仍然可以通过查看HEAD的reflog再次找到分支,但是如果你有一段时间没有检查分支(或者从未检查过分支的最新提示)那么它就赢了在那里。但即使这样,您也可以尝试使用git fsck --lost-found来查找您的悬挂提交,并通过它们进行搜索以找到可能的分支提示候选者。

正如您已经指出的那样,如果您运行的某些内容会破坏.git目录,那么所有投注都会关闭。