Git 变基期间不显示冲突
Conflicts are not shown during Git rebase
我在尝试使用 master 分支重新设置分支时遇到了一个奇怪的问题。场景如下:
- 我必须使用 a 提交创建一个新分支,它比 master 晚了 21 次提交。
- 签出特定提交
git checkout git checkout <sha>
- 创建了新的本地分支
git switch -c feature_branch
- 将本地分支推送到远程
git push origin feature_branch
- 与
master
相比,新创建的分支 feature_branch
确实有一些变化。
- 现在我想和主人一起改变我的
feature_branch
git rebase master
。
First, rewinding head to replay your work on top of it...
Fast-forwarded feature_branch to master.```
feature_branch
中的更改已被 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 上复制提交,你有(至少)三个选项,具体取决于提交的确切内容:
-
git checkout master
git cherry-pick bug_fix_commit
revert正在还原:
git checkout master
git revert revert_of_bug_fix_commit
指示 rebase 不自动计算提交范围,而是手动提供要复制的范围:
git rebase --onto master feature_branch^ feature_branch
我在尝试使用 master 分支重新设置分支时遇到了一个奇怪的问题。场景如下:
- 我必须使用 a 提交创建一个新分支,它比 master 晚了 21 次提交。
- 签出特定提交
git checkout git checkout <sha>
- 创建了新的本地分支
git switch -c feature_branch
- 将本地分支推送到远程
git push origin feature_branch
- 与
master
相比,新创建的分支feature_branch
确实有一些变化。 - 现在我想和主人一起改变我的
feature_branch
git rebase master
。
First, rewinding head to replay your work on top of it... Fast-forwarded feature_branch to master.```
feature_branch
中的更改已被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 上复制提交,你有(至少)三个选项,具体取决于提交的确切内容:
-
git checkout master git cherry-pick bug_fix_commit
revert正在还原:
git checkout master git revert revert_of_bug_fix_commit
指示 rebase 不自动计算提交范围,而是手动提供要复制的范围:
git rebase --onto master feature_branch^ feature_branch