好的,我有分支feature/12
,它或多或少已完成,所以我分支它并开始工作
feature/13
,取决于feature/12
。
代码审核发生,并对feature/12
进行了一些小的更改。所以我应用这些更改,然后将master
压缩到单个功能提交中,就像公司中的协议(git rebase -i master
)一样。
现在回到feature/13
,如何合并feature/13
的历史记录,以免与feature/12
和master
发生历史冲突?我只是git rebase
功能/ 12`并修复任何冲突吗?
答案 0 :(得分:3)
是的,只是反对主人。
Rebase将尝试在被压扁的提交之上应用未取消的提交,并且可能会看到冲突(尽管独立或最后一个将被识别为已经应用并自动跳过)。你可以:
git rebase --skip
出现时,或pick
文件的git-rebase-todo
行。如果您感到非常谨慎,并且您希望确保rebase操作不会意外添加或删除您在{{}上的任何更改 1}},你可以从pre-rebase版本中区分差异,现在在完成rebase操作后立即使用这样的命令:
feature/13
这不会给出完全干净的输出 - 它会报告上下文行中的差异,以及I don't know of a better way - 但肯定会显示由于rebase而丢失(或获得)的任何更改。
答案 1 :(得分:1)
我只是
git rebase feature/12
并修复任何冲突吗?
那就行了,但请注意,合并的feature/12
中的其他更改现在也在master
,并且任何冲突都已在那里得到解决。基于任何依赖项的生产版本,您的工作也很简洁。如果它后来证明你需要再次对feature/12
中的新作品进行重新修改,那么无论如何你都必须这样做。