如果我使用
git merge --no-commit <other-branch>
Run Code Online (Sandbox Code Playgroud)
然后进行更改,例如从合并中删除文件,这仍然是真正的合并吗?
我希望分支相关(通过合并),但我不希望新分支中的所有更改。
作为一个更具体的例子,other-branch 是旧版本的发布分支。当前分支是当前产品的开发分支。我们对应该移到开发分支的发布分支进行了一些更改。
我们过去曾使用过cherry-picks,但我觉得让git了解两个分支之间的关系可能有好处。
编辑过的合并仍然是合并吗?
该
--no-commit
选项只是停止并让您在提交合并之前调查合并是否顺利。
这现已记录在 Git 2.22(2019 年第 2 季度)中
请参阅Elijah Newren ( )的提交 1ede45e(2019 年 2 月 21 日)。(由Junio C Hamano 合并 -- --提交082c15a,2019 年 3 月 7 日)newren
gitster
merge-options.txt
--no-commit
:选项的正确措辞前面的措辞暗示
--no-commit
总是会导致合并操作“暂停”并允许用户进行进一步的更改和/或为合并提交提供特殊的提交消息。快进合并则不是这种情况,因为没有要创建的合并提交。
如果没有合并提交,就没有地方可以“停止合并并允许用户调整更改”;这样做需要某种形式的完全变基。
由于用户可能不知道他们的分支是否已分叉,因此请修改措辞以正确解决快进情况,并建议使用
--no-ff
with--no-commit
来确保合并在完成之前停止。
文档更清楚:
在
--no-commit
创建合并提交之前执行合并并停止,以便用户有机会在提交之前检查并进一步调整合并结果。请注意,快进更新不会创建合并提交,因此无法停止这些合并
--no-commit
。
因此,如果您想确保合并命令不会更改或更新您的分支,请使用--no-ff
with--no-commit
。
是的,它仍然是一个合并。无论您运行git merge <other-branch>
还是git merge --no-commit <other-branch>
,结果都将是一个合并提交,它有两个父项。该--no-commit
选项只是停止并让您在提交合并之前调查合并是否顺利。
归档时间: |
|
查看次数: |
5085 次 |
最近记录: |