【发布时间】:2011-07-29 10:25:36
【问题描述】:
我正在尝试使用 Git 进行软件开发。我发现如果我在 Git 中删除一个分支,我可能会永远丢失我的代码。这让我很惊讶。我认为作为一个版本控制系统,它应该可以让我做任何事情(甚至是愚蠢的事情)而不用担心会损害我的工作。
以下步骤是我所做的:
- 初始化 Git 存储库。
- 提交对存储库的多项更改。
- 切换/签出当前工作目录到第一次提交。
- 删除主分支。
- 然后我失去了所有的工作,我无法相信我所看到的。这是真的吗?如果我在编码时喝醉了。我可能会丢失 Git 中的代码。
问题是如何回滚删除分支的动作?
或者,我如何获取 Git 中的所有历史记录,甚至是日志中消失的内容?
【问题讨论】:
-
如果你提交它仍然存在,检查 git reflog
-
我希望,即使你喝醉了,你也不会再删除你的master分支!
-
另一个提示:只使用
git branch -d,而不是git branch -D。如果您要删除可能会让您失去工作的内容,您会收到警告,然后您可以在使用-D之前花点时间思考一下。 (或者,您可以从gitk中删除,这样您就可以真正看到要删除的内容。) -
这只是版本控制系统不是备份系统或journaling filesystem(反之亦然)的另一个示例。
标签: git