git merge branch 没有产生新的提交信息
1. 问题git merge branch 没有产生新的提交信息,而是直接将 dev branch 的提交信息直接迁移过去。如何才能 mergebranch 的时候,产生一次新的提交呢?2. 原因为什么直接 merge 没有产生一次新的提交呢?如果我们的祖先分支以 master 为例,再 checkout 一个新的分支(bugfix)后,产生了新的提交,与此同时,其他的开发分支没有往 master
·
1. 问题
git merge branch 没有产生新的提交信息,而是直接将 dev branch 的提交信息直接迁移过去。如何才能 merge branch 的时候,产生一次新的提交呢?
2. 原因
为什么直接 merge 没有产生一次新的提交呢?
如果我们的祖先分支以 master 为例,再 checkout 一个新的分支(bugfix)后,产生了新的提交,与此同时,其他的开发分支没有往 master 合并新的提交。
这样,新的分支与 master 分支的最新提交历史是共同的祖先。
此时,merge bugfix 分支后, master 拥有 bugfix 全部的提交,所以当合并到master 分支后,master 的 HEAD 会直接指向最新的 bugfix 提交历史上。不会产生新的提交。git 采用的模式即称为 fast-forward
模式(快进模式)
3. 解决方案
在合并的时候,我们可以禁用 fast-forward
这种合并策略即可。操作指令如下:
# --no-ff 即 no-fast-forward 禁用快进模式
$ git merge hotfix --no-ff
更多推荐
已为社区贡献1条内容
所有评论(0)