我有一個分支機構和一個分支機構。git reset --hard <sha1>。這是否刪除了一切?
我有一個提交SHA1 ID說在開發4356xyz。我希望能夠處於前沿。所以,我檢查了前沿,做
git reset --hard 4356xyz
現在,當我做git log
我看到兩個分支的歷史已經成爲一致。 有沒有一種方法可以讓我在復位前恢復先前分支的歷史?
我有一個分支機構和一個分支機構。git reset --hard <sha1>。這是否刪除了一切?
我有一個提交SHA1 ID說在開發4356xyz。我希望能夠處於前沿。所以,我檢查了前沿,做
git reset --hard 4356xyz
現在,當我做git log
我看到兩個分支的歷史已經成爲一致。 有沒有一種方法可以讓我在復位前恢復先前分支的歷史?
git reset --hard 4356xyz
已將您的cutting-edge
分支指向該提交。如果這與dev
指向的是相同的提交,那麼是的,它們將共享相同的歷史,因爲它們現在指向相同的提交。
您可以檢查git reflog
找出你的分支cutting-edge
指出之前你叫去點它在提交4356xyz
。在未來,如果您想要將一個分支的提交添加到另一個分支,您需要合併分支或挑選特定的提交。
要拉只是提交4356xyz
,你會git checkout cutting-edge
然後git cherry-pick 4356xyz
。
是的,您可以使用git reflog
命令來顯示分支頭的位置。選擇你想要的提交,並用該提交使用git reset --hard
。
你覺得'git reset --hard'會做什麼? – meagar 2012-08-14 05:34:43
我以爲它會做櫻桃採摘..'git cherry-pick 4356xyz'。後來才發現,將頭指向該提交。 – 2012-08-14 06:47:58