8

我有一个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

4

1 回答 1

11

您正在寻找的是“git rebase”的“onto”选项(参见“git help rebase”)。根据您的描述,它将是:

git rebase --onto master debug fix

这实际上将(从“修复”到“调试”)重新植根于 master 提交。你仍然有修复分支。要完成返工,请跟进:

git checkout master
git merge fix
于 2013-03-14T22:31:44.020 回答