如果要「撤消」功能分支,您有什麼選擇?假設您添加了一個新功能supercool-feature
,您可以完成(合併到開發中並刪除功能分支),然後進入發行版。但是,那麼你的用戶真的不喜歡這supercool-feature
。我怎樣才能撤銷/倒帶/扭轉已經合併到開發和發行版中的這個功能?Git-Flow撤消已完成的功能分支
我使用SourceTree來執行我的版本控制。
如果要「撤消」功能分支,您有什麼選擇?假設您添加了一個新功能supercool-feature
,您可以完成(合併到開發中並刪除功能分支),然後進入發行版。但是,那麼你的用戶真的不喜歡這supercool-feature
。我怎樣才能撤銷/倒帶/扭轉已經合併到開發和發行版中的這個功能?Git-Flow撤消已完成的功能分支
我使用SourceTree來執行我的版本控制。
運行此命令
git revert -m 1 <sha1 of M>
說明
你的情況是大約如下:
A-B-----C---D-M # master \ / X-Y---Z- # supercool-feature
A,B,C和d分別爲在你的主胸罩nch,X,Y和Z在你的特徵分支中。當你做了git merge supercool-feature
Git爲你創建了一個「合併提交」M.此提交包含功能分支中的所有提交以及可能的修復以修復合併衝突。因此,如果你一次提交了revert
,那麼你的featurebranch的每一個改變都將會消失。
其實命令
git revert -m 1 <sha1 of M>
其中除去中號搬回對含有X分支,Y,Z這不是主線1.
那麼你恢復合併......顯然它的一點點比這更復雜,但細節在於你如何組織你的代碼和你的測試等。我有一種感覺,這個問題還有更多。 –
這也不是一個真正的混帳流程的具體問題。 git-flow爲你做的只是從開發中創建你的特性分支,然後將其合併回開發。在git-flow中沒有什麼魔術出現,它只是混帳而已。 –
@AlexBrown,那麼如何恢復合併?我不確定您是否熟悉git流程的工作方式。但是當你在git-flow中完成一個特性時,它會被合併到一個「開發」分支中,然後特性分支被刪除。當你決定發佈一個版本時,你從開發中創建一個新的分支,然後進行特定版本的更改,然後將其合併到「主」中。那麼,我將如何恢復合併到開發中的'supercool-feature'? –