我知道有很多關於在git中撤銷合併的信息,但我似乎無法在我的具體情況中找到任何有關如何執行此操作的共識。撤消由bitbucket請求創建的git合併
有人本質經由到位桶拉入請求合併我們develop
分公司我們master
分支。這只是今天發生的,所以這是在master分支上完成的最後一件事(我們不必擔心在合併提交之上的其他提交)。
注:我們舉辦到位桶自己,所以我們必須到位桶的舊版本。沒有回覆拉動請求選項。
從我讀過,有本質上的混帳處理這兩種方式:
git reset --hard *<SHA of commit before the merge>*
- 這將刪除合併提交,就好像它從來沒有發生過。
- 到處都是我讀到「重寫歷史是不好的做法」或「從不在公開共享的回購中做這件事」,但他們從來沒有真正解釋過爲什麼不這樣做。這似乎可以解決問題,並且從現在開始6個月後,我們確實想要重做此合併,從
develop
到master
- 如果這是做到這一點的最佳方法,它,在bitbucket中的pull請求會發生什麼?該pull請求仍然存在於bitbucket中,但是我們正在移除它創建的合併提交,那麼會以任何方式搞亂bitbucket?
git revert -m 1 *<SHA of the merge commit>*
- 這將創建一個新的提交是撤消由合併所行一切的變化
- 這將是罰款,但我們打算在以後的合併
develop
爲master
日期(下一版本)以及我讀過的內容,我們必須記得在執行此操作之前恢復我們的恢復提交,否則當我們將develop
合併到master
時,我們今天還原的更改將不會包含在內。 6個月後,我真的不想讓這個問題成爲問題,當時沒有人記得這個回覆。
TL; DR:我對由於這些問題做git revert
猶豫可能會導致從現在6個月當我們想再次做合併。我也在做git reset
猶豫不決,因爲每個人都似乎警告不要這樣做,並且它可能會導致與bitbucket上的pull請求有關的問題。
你能否詳細說明2號?我沒有關注。特別是與您使用「前進」。你是否說有一種方法可以改變'develop',以便在6個月內從'develop'到'master'合併時考慮到恢復? –
添加圖例 – max630
感謝您的詳細解答。我一定會將這標記爲公認的答案,但還有一件事情。我們不能做從主人到開發人員的快速合併,因爲我們在主人身上進行了還原,因此還有其他發展承諾。這會改變什麼嗎?我還可以通過開發合併提交而不是快進合併來完成此任務嗎? –