如果我使用
git merge --no-commit <other-branch>
然后进行更改,例如从合并中删除文件,这仍然是真正的合并吗?
我希望分支相关(合并),但我不想要新分支中的所有更改。
作为一个更具体的例子,other-branch是旧版本的发布分支。目前的分支是当前产品的开发分支。我们对应该移动到开发分支的发布分支进行了一些更改。
我们过去曾使用樱桃选择,但我觉得让git了解两个分支之间的关系可能会有优势。
编辑后的合并是否仍然合并?
答案 0 :(得分:2)
是的,它仍然是合并。无论您运行git merge <other-branch>
还是git merge --no-commit <other-branch>
,结果都是合并提交,它有两个父项。 --no-commit
选项只会停止,并允许您在提交合并之前调查合并进展顺利。
答案 1 :(得分:2)
--no-commit
选项只是停止,您可以在提交合并之前调查合并是否顺利。
现在已在Git 2.22(2019年第二季度)中进行了记录
请参见commit 1ede45e的Elijah Newren (newren
)(2019年2月21日)。
(由Junio C Hamano -- gitster
--在commit 082c15a中合并,2019年3月7日)
merge-options.txt
:--no-commit
选项的正确措辞以前的措词暗示
--no-commit
将始终使合并操作“暂停”,并允许用户进行进一步的更改和/或为合并提交提供特殊的提交消息。快进合并不是这种情况,因为没有合并提交 去创造。
没有合并提交,就没有地方“停止合并并允许用户调整更改”;这样做将需要某种形式的完整基础。
由于用户可能不知道其分支机构是否分支,因此请修改措辞以正确处理快进案例,并建议使用
--no-ff
和--no-commit
,如果这样做是为了确保合并会在完成之前停止。
使用
--no-commit
执行合并,并在创建合并提交之前停止,使用户有机会在提交之前检查并进一步调整合并结果。请注意,快进更新不会创建合并提交,因此无法通过
--no-commit
停止这些合并。
因此,如果要确保合并命令不会更改或更新分支,请将--no-ff
与--no-commit
一起使用。