使用Git X並且必須在某物上摸索。看起來像幾天前我創建了一個名爲detached HEAD
的分支,並一直致力於此。我的正常流程是承諾master
,然後將其推送到origin
。但我無法推動detached HEAD
。gitx如何讓我的'Detached HEAD'提交回主模塊
我的下一站停止了我。我選擇了git checkout master
- 我的detached HEAD
分支消失了。回到我的項目,我過去幾天的所有變化都被抹去了。
無論如何我可以得到這些變化嗎?
使用Git X並且必須在某物上摸索。看起來像幾天前我創建了一個名爲detached HEAD
的分支,並一直致力於此。我的正常流程是承諾master
,然後將其推送到origin
。但我無法推動detached HEAD
。gitx如何讓我的'Detached HEAD'提交回主模塊
我的下一站停止了我。我選擇了git checkout master
- 我的detached HEAD
分支消失了。回到我的項目,我過去幾天的所有變化都被抹去了。
無論如何我可以得到這些變化嗎?
如果checkout master
是你做的最後一件事,那麼reflog進入[email protected]{1}
將包含您提交(以其它方式使用git reflog
或git log -p
找到它們)。使用git merge [email protected]{1}
將它們快速轉發到主設備。
編輯:
正如在評論中指出,Git Ready has a great article這一點。
git reflog
和git reflog --all
會給你錯誤提交的提交散列。
來源:http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
不是一個強大的git用戶,這是有幫助的,但沒有足夠的細節。它促使我搜索網絡 - 謝謝。我發現http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html非常有用 – rgardler 2011-12-23 13:55:20
如果分離的頭是主人的快進快你只是想在提交上游,可以
git push origin HEAD:master
直接推動,或
git checkout master && git merge [ref of HEAD]
會將它合併回來給你當地的主人。
使用git reflog查找丟失的提交。 – 2011-01-30 21:05:49
請參閱http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html – rgardler 2011-12-23 13:56:14