2013-03-14 14 views
6

私はデバッグする必要のあるバグのmasterブランチを持っています。これを行うために、私はデバッグプロシージャ(例えば、変数を印刷する)の束を挿入し、バグを指摘し、修正を適用したいと考えています。後で、修正をmasterブランチにマージしたいのですが、デバッグの変更をスキップしたくありません。git - "debug"ブランチ、 "debug"なしの "fix"ブランチ

# create debug branch 
git checkout -b debug 

# ... 
# edit sources and add debug prints 
# ... 

# commit debug changes 
git commit --all 

# create branch for the fix 
git checkout -b fix 

今、適切な修正を行うと

git commit --all 

ゴー枝masterにコミット...

git checkout master 
...とデバッグせずに修正 との合併は

を変更
git merge fix # <-- wrong, will merge debug changes as well 

fixをマージする方法debugなし?

+0

を修正してください。ブランチ修正のデバッグで変更が必要ですか? – iberbeu

答えて

7

あなたが探しているのは、 'git rebase'( 'git help rebase'を参照)のオプションです。あなたはそれのようになり説明何から:

git rebase --onto master debug fix 

これ、実際に再根(「修正」から、「デバッグ」に)マスターでコミットします。あなたはまだ修正ブランチを持っています。リワークを完了するには、

git checkout master 
git merge fix 
+0

この '--onto'操作の後、' fix'ブランチには*デバッグコードなしの固定コード*が含まれていることに注意してください。 –

+0

それは私が私の「根本的な」声明によって意味したものです。 – GoZoner

+1

ああ。実際には* '修正*マイナス*デバッグ'を意味する 'fix-debug'によって –