[英]Updating git repository in a 'Detach Head' state
如果我的git存儲庫處於“分離頭”狀態,那么當我執行“ git pull”時,它仍然可以遠程拉入新的提交。
在執行“ git pull”之后,我會看到新的提交。
我的問題是“如果我的存儲庫處於“分離頭”狀態,並且我已經進行了一些本地提交(沒有推送),然后執行了“ git pull”,我看到了新的提交,但是我的本地提交不見了。
這是為什么? 以及在哪里/如何查看我的本地提交?
謝謝。
你不應該固執己見!
當您意識到自己處於超脫狀態(並且希望進行更改)時,您需要:
git checkout -b someBranch
鑒於您已經進行了更改並提交了更改,一旦丟失,則需要執行以下操作:
git branch someBranch HEAD@{1}
您可以檢查此以獲取更多信息。
通常, HEAD
指針是一個符號引用,指向實際引用(通常是分支)。 您可以對此進行提交。 當您處於分離HEAD狀態時, HEAD
指針直接指向提交而不是實際引用。 此時提交將保存數據,但將使其無法訪問。 如果切換到實際分支,則沒有直接的方法可以切換回所做的新提交。
解決方案是從使用git branch foo
地方剪切一個分支。 現在,如果您切換分支,仍然可以切換回包含新提交的新創建的foo
分支。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.