git - “debug”分支,合并“fix”分支而不“debug”

时间:2013-03-14 21:55:56

标签: git

我有一个需要调试的bug master分支。为此,我想插入一堆调试程序(例如,打印变量),指出错误并应用修复程序。稍后,我想将修复程序合并到master分支中,但我不想跳过调试更改。

# 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

1 个答案:

答案 0 :(得分:8)

您正在寻找的是'git rebase'的'to'选项(请参阅'git help rebase')。根据你所描述的那样:

git rebase --onto master debug fix

这实际上是在master处重新生成(从'fix'到'debug')提交。你仍然有修复分支。要完成返工,请跟进:

git checkout master
git merge fix