如果我的git存储库处于'Detach Head'状态,当我执行'git pull'时,它仍然可以 远程提取新提交。
我在'git pull'之后看到了新的提交。
我的问题是'如果我的存储库处于Detach head'状态,我做了一些本地提交(没有推送)然后我做'git pull',我看到新的提交,但我的本地提交已经不见了
为什么?以及我如何/如何看到我的本地提交?
谢谢。
答案 0 :(得分:0)
你不应该对一个独立的头部做出承诺! 当你意识到你处于一个独立的头上时(你希望做出改变),你需要:
git checkout -b someBranch
鉴于你已经做出改变并提交了它们,一旦你丢失了它们,你将需要做类似的事情:
git branch someBranch HEAD@{1}
您可以查看this了解详情。
答案 1 :(得分:0)
通常,HEAD
指针是指向实际引用(通常是分支)的符号引用。你可以对此做出提交。当您处于分离的HEAD状态时,HEAD
指针直接指向提交而不是实际引用。此时提交将保存数据,但会使其无法访问。如果切换到实际分支,则没有直接切换回您所做的新提交的方法。
解决方案是从您使用git branch foo
的位置剪切分支。现在,如果切换分支,您仍然可以切换回包含新提交的新创建的foo
分支。