如果我的git存儲庫處於'Detach Head'狀態,當我做'git pull'時,仍然可以通過 遠程提取新的提交。在'Detach Head'狀態下更新git存儲庫
我看到新的提交後,我做'git pull'。我的問題是'如果我的存儲庫處於Detach head'狀態,並且我做了一些本地提交(沒有推送),然後我做'git pull',我看到新的提交,但是我的本地提交是不見了。
這是爲什麼?和我在哪裏可以看到我的本地提交?
謝謝。
如果我的git存儲庫處於'Detach Head'狀態,當我做'git pull'時,仍然可以通過 遠程提取新的提交。在'Detach Head'狀態下更新git存儲庫
我看到新的提交後,我做'git pull'。我的問題是'如果我的存儲庫處於Detach head'狀態,並且我做了一些本地提交(沒有推送),然後我做'git pull',我看到新的提交,但是我的本地提交是不見了。
這是爲什麼?和我在哪裏可以看到我的本地提交?
謝謝。
你不應該承諾分離的頭!
當你意識到你是在一個分離的頭(和你想更改),你將需要:
git checkout -b someBranch
鑑於你已經取得的變化和COMMITED他們,一旦你失去了他們,您需要做類似:
git branch someBranch [email protected]{1}
你可以檢查this欲瞭解更多信息。
通常,HEAD
指針是指向實際引用(通常是分支)的符號引用。你可以對此進行提交。當處於分離HEAD狀態時,HEAD
指針直接指向提交而不是實際引用。在這一點上提交將保存數據,但會使其無法訪問。如果切換到實際分支,則不會直接切換回您提交的新提交。
解決方案是從您使用的地方剪下分支git branch foo
。現在,如果您切換分支,您仍然可以切換回包含新提交的新創建的foo
分支。