我們有一個有點亂,其中一個古老分支曾後續工作做得 這是所有合併到一個開發分支,但之間 所以在開發完成的其它工作:還原一個複雜的合併
我們開始開發
然後分支到5.6.9
工作繼續進行開發,同時也對5.6.9
在5.6.9所有工作被合併下到開發
分支產生掉在開發中的最新(在這個階段〜1800提前5.6.9)然後合併到5.6.9 - 這就是我們想要恢復的
我們沒有線性歷史記錄,我們可以恢復到給定的提交,因爲5.6.9在提交開發之間完成的工作,並且無法找到任何方式來找到合併的提交哈希作爲日誌舊的分支現在包含所有的開發(即git日誌 - 整合顯示所有功能分支合併到開發,而不是合併到我們所做的5.6.9)
有沒有記錄git保持所有合併?並有任何方式告訴它撤消合併(已被推送)?
是的,git知道所有合併...他們承諾與多個父母。你可以在'git log --merges'的分支上看到合併。可以使用'git revert'來恢復特定的提交。但是你可能想要閱讀它。這裏有一個關於撤消合併的[好帖子](http://git-scm.com/2010/03/02/undoing-merges.html)。 – jszakmeister