2012-11-01 25 views
1

如果我的git存储库处于'Detach Head'状态,当我做'git pull'时,仍然可以通过 远程提取新的提交。在'Detach Head'状态下更新git存储库

我看到新的提交后,我做'git pull'。我的问题是'如果我的存储库处于Detach head'状态,并且我做了一些本地提交(没有推送),然后我做'git pull',我看到新的提交,但是我的本地提交是不见了。

这是为什么?和我在哪里可以看到我的本地提交?

谢谢。

回答

0

你不应该承诺分离的头!
当你意识到你是在一个分离的头(和你想更改),你将需要:

git checkout -b someBranch 

鉴于你已经取得的变化和COMMITED他们,一旦你失去了他们,您需要做类似:

git branch someBranch [email protected]{1} 

你可以检查this欲了解更多信息。

0

通常,HEAD指针是指向实际引用(通常是分支)的符号引用。你可以对此进行提交。当处于分离HEAD状态时,HEAD指针直接指向提交而不是实际引用。在这一点上提交将保存数据,但会使其无法访问。如果切换到实际分支,则不会直接切换回您提交的新提交。

解决方案是从您使用的地方剪下分支git branch foo。现在,如果您切换分支,您仍然可以切换回包含新提交的新创建的foo分支。

相关问题