我和其他一位開發人員合併並將我們的工作推向一個稱爲工具的非主分支。這樣,我們並沒有影響到其他團隊。我的主題分支叫做DPM-93,我的git工作流程就是這樣。Git陷入錯誤的分支
# do some work
git checkout DPM-93
git commit -m "did some work"
# catch up
git checkout toolwork
git pull origin toolwork
# rebase my topic branch
git checkout DPM-93
git rebase toolwork
# merge and push my changes
git checkout toolwork
git merge --no-ff DPM-93
git push origin toolwork
這大部分是工作的罰款,直到我無意中發出這些Git命令
git checkout toolwork
git pull origin master
在這一點上,一堆新的東西分支toolwork出現了,我不知道如何擺脫它沒有刪除我的工作區,並從回購重新克隆。
有沒有什麼辦法可以把它拉回到拉之前的狀態?
假設還沒有人從主服務器拉出來,使用'git rebase -i ORIG_HEAD'來刪除不需要的提交可以嗎? – unutbu 2010-10-22 17:28:30
@unutbu:我相信在這種情況下,這種rebase的最終結果將類似於'git reset'。 – VonC 2010-10-22 18:42:06
謝謝,@VonC。對不起,這個愚蠢的問題。不知何故,我沒有意識到'git reset --hard'不僅會改變工作樹和索引,還會移除DAG中的父指針。 – unutbu 2010-10-22 20:34:57