簡體   English   中英

以'Detach Head'狀態更新git倉庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM