首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在分离的头状态下创建的git提交会发生什么?

在分离的头状态下创建的git提交会发生什么?
EN

Stack Overflow用户
提问于 2012-04-03 05:38:04
回答 4查看 50.8K关注 0票数 162

事情是这样的:

我有一个分支A。在分支A上,我提交了一系列更改。我对代码不满意,所以我在分支A中签出了以前的提交,然后我又做了一些更改,并在分支A上提交了它们。现在,我在任何地方都找不到这个提交。我是不是弄丢了这个代码?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-03 05:40:48

旧的提交仍在reflog中。

代码语言:javascript
复制
git reflog

这将显示一个提交列表,“丢失的”提交应该在其中。你可以把它变成一个新的分支。例如,如果SHA-1是分支,那么您可以在旧的提交处创建一个名为“ba5a739 -ba5a739”的新分支,方法是:

代码语言:javascript
复制
git branch new-branch ba5a739

请注意,当数据库被修剪时,“丢失的”提交将被删除。

票数 222
EN

Stack Overflow用户

发布于 2014-07-17 22:58:49

使用以下命令,您可能会发现丢失(悬空)的提交:

代码语言:javascript
复制
git fsck --lost-found

请注意,如果您当前的头是悬空提交,则不会将其列为丢失。

你可以在git-fsck(1) Manual Page上找到更多信息

然后,您可以在丢失的提交上创建分支:

代码语言:javascript
复制
git branch new-branch ba5a739
票数 13
EN

Stack Overflow用户

发布于 2012-04-03 05:40:20

你没有丢失它,Git仍然保留着一份副本(但目前任何分支都无法访问它)。您可以使用git reflog命令查找丢失的提交。reflog跟踪分支头的历史位置,您可以使用它来查找分支头之前所指向的内容。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9984223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档