2016-05-16 12 views
0

私はgitでレポを作成しました。そこでブランチで作業を始め、機能を開発しました。中途半端なときに、私は修正したバグに気付きました。しかし、修正プログラムをコミットして開発ブランチをマスターし、再ブランチする代わりに、開発ブランチにコミットしました。これは数回連続して起こり、今私は間違いを認識しています。ブランチを2つに分岐する/ブランチを選択的にマージする

マスターで別の修正プログラムを実行したいのですが、修正プログラムは以前の修正プログラムに依存しており、テストブランチを完全にマージすることはできません。

これは私の質問です。どのようにしてコミットしていないコミットをdevelopementブランチに残したまま、修正プログラムを含むコミットだけをマスターにマージできますか?

具体的に言えば、私がマージしたいコミットと、もう一方のブランチで保存したいコミットがインターカレートされています。

Hは、修正プログラムおよびDテストされていないコミットされているグラフィカルに、私のレポは次のようになり、:

devbranch  D1 - H1 - D2 - H2 
      /
master A - B 

そして、私はそれが次のようになりたい:

devbranch    D1 - D2 
        /
master A - B - H1 - H2 

答えて

1

桜が希望コミットを選びます次に、新しいブランチにフィーチャーブランチをリベースします。

git checkout master 
git cherry-pick H1 
git cherry-pick H2 
git checkout devbranch 
git rebase master 
+0

デベロッパーにH1とH2のコピーを残しないでください。 – Jsevillamol

+1

@Jsevillamol:それは、しかし、彼らはrebaseで消えるだろう。 – choroba

関連する問題