Git 变基期间不显示冲突

Conflicts are not shown during Git rebase

我在尝试使用 master 分支重新设置分支时遇到了一个奇怪的问题。场景如下:

谁能解释一下这是怎么回事。这真的很有帮助,因为我可能在这里遗漏了一些基础知识。

谢谢

git rebase <target> [<source>] 将从 source(默认为您当前的分支)中获取所有提交,并将它们 copy 一个一个地复制到目标。如果源完全包含在目标中(即源的所有提交也在目标中),则没有要复制的提交。 Rebase 实际上是一个空操作,除了将源的分支标签移动到与目标相同的提交。

将其视为提交,如git log --oneline --graph source...target(3 个点)所示,而不是如git diff source target 所示的更改。您可以预览将由 运行 git log --oneline target..source 变基的提交——如果输出为空,则没有要变基的提交(源完全包含在目标中)。


如果你想在 master 上复制提交,你有(至少)三个选项,具体取决于提交的确切内容:

  1. cherry pick:

    git checkout master
    git cherry-pick bug_fix_commit
    
  2. revert正在还原:

    git checkout master
    git revert revert_of_bug_fix_commit
    
  3. 指示 rebase 不自动计算提交范围,而是手动提供要复制的范围:

    git rebase --onto master feature_branch^ feature_branch