2012-11-01 47 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分支。

相關問題