2012-05-02 10 views
5

私はGitには比較的新しいので、これが正しいのか、そしてmasterブランチにマージされた機能ブランチを削除する他の方法があるかどうかを知りたい。Gitで機能ブランチのマージを "バックアウト"するにはどうしたらいいですか?

3つのチケット(バグ/機能強化)に取り組んでおり、それぞれがタグv2.0.21から分岐したチケットごとに3つの機能ブランチがあるとしましょう。開発作業が各チケットで行われ、十分なテストが終わったら、それをマスターブランチにマージし、このブランチにv2.0.22というラベルを付けてプロダクションにリリースします。

プロダクションリリースの直後に、チケット(Ticket2)の1つが失敗しているとわかり、削除する必要があるとしましょう。これは私が心に留めていることであり、これがTicket2に関連するコミットを削除する良い方法であるかどうかを知りたかったのです。

などが強制マスタに新しいブランチをプッシュ

  • この新しいブランチにTicket1(支社)とTicket3(Branch3)をマージv2.0.21
  • から新しいブランチを作成し

    1. 、と言います。
    2. タグマスターとしてV2.0.23
    3. リリースコードをv2.0.23から本番版にリリースします。

    誰かがこのアプローチを検証し、既にマスターにマージされている機能ブランチを削除するより良い方法を提案してくれることを願っています。ありがとう!

  • 答えて

    5

    マージによって「マージコミット」が作成された場合は、このような理由からしばしば良い考えですが、git revertコマンドを使用して特定の機能ブランチから変更を取り消すことができます。その枝。

    how to revert a faulty mergeの詳細ノートが含まれています。この情報には役立つ情報があります。

    +0

    返信いただきありがとうございましたGregさんに返信してください。簡単な質問 - Ticket2に20のコミットがあるとしたら、1つずつコミットを元に戻すのではなく、その機能ブランチに関連付けられたコミットを一度に削除する簡単な方法がありますか? – Scarface

    +1

    これはまさに "マージコミットの復帰"が行うことです。これはマージの効果を元に戻します。マージは分岐全体を元に戻します。 –

    +0

    うわー!おかげでグレッグ! – Scarface

    関連する問題