是否有可能在git中失去工作?我们假设我的所有工作都已提交,而且我没有运行git gc
。
如果我尝试一些“时髦命令”(不是rm -rf .git
),并且我的项目发生了一些奇怪的事情,我可以从中恢复吗?
特别是我应该避免做什么吗?或者在尝试之前将存储库克隆到别处?
答案 0 :(得分:6)
您使用git制作的大多数错误都可以通过使用reflog来恢复。一个例外是删除你的分支,因为当然会删除相关的reflog。如果发生这种情况,你仍然可以通过查看HEAD的reflog再次找到分支,但是如果你有一段时间没有检查分支(或者从未检查过分支的最新提示)那么它就赢了在那里。但即使这样,您也可以尝试使用git fsck --lost-found
来查找您的悬挂提交,并通过它们进行搜索以找到可能的分支提示候选者。
正如您已经指出的那样,如果您运行的某些内容会破坏.git
目录,那么所有投注都会关闭。