2017-07-02 16 views
4

希望這將是一個簡單的問題。我對git比較陌生,有些東西我還是不會...... git。在git中,如何在分支中回滾特定的提交,但即使在合併後也不會將它們回滾到父分支中?

假設的情況:

假設開發分支包含兩次提交,C1和C2。

在c2之後創建發佈分支,因此發佈分支也包含c1和c2。

然後決定c1需要推遲到以後的版本。

將發行分支合併回開發時,如果不從發佈分支中刪除c1,推薦從發佈分支中刪除c1的方法是什麼?

+0

是的,答案可以幫助...但我想等待,看看是否有人有一些東西更優雅 的三個答案我已經得到的。 1)下面的一個。 2)從c1之前重新創建發佈分支,然後選擇c2進入它。 3)只需恢復發佈分支中的c1,然後讓它死亡(不要合併回去開發)。 在我的特殊情況下,我傾向於3. –

+0

是的。應該有更好的東西。我們等等吧。 – maverick

+0

我不確定會有更短的解決方案。我能想到的唯一另一種方法是在C1之前提交發布分支,然後進行櫻桃採摘手術。 –

回答

4

我不知道,如果其推薦的方式或不是,但它會解決你的問題:

  1. 還原從發佈分支提交C1。 (git revert <c1-commit-id>
  2. 合併發佈分支以進行開發時,還原步驟1中生成的還原提交。 (git revert <c1-revert-commit-id>)

的Git恢復命令: - git revert <commit-id>

+0

Upvote。解決問題,但這樣做很長的事情 –

+1

是的,我知道。我相信會有更好的解決方案。 – maverick

相關問題