GitHub Desktop自动生成分支合并到自身的提交信息是如何产生的?
问题解答
该合并信息的含义
这是Git自动生成的合并提交说明,本质不是“把分支合并到自身”,而是将远程仓库的同名分支的最新提交,合并到成员本地的同名分支中,最终将本地合并后的结果推送到远程。你看不到成员填写的提交信息,是因为他写的提交信息在这个自动合并提交之前的普通提交上,这个是额外多出来的合并提交。
生成原因
- 核心是你的团队成员在GitHub Desktop中使用了默认的拉取策略:成员本地分支提交后版本落后于远程分支的最新版本,点击推送时,GitHub Desktop会自动执行
git pull操作,其默认配置是用merge方式处理远程和本地的提交差异,而非rebase。 - 这种自动合并场景下Git会默认使用内置的提交信息模板生成说明,不需要用户手动填写,所以不会出现“未填提交信息就中止提交”的情况,这和普通手动提交的校验逻辑不一样。
解决方案
可以让该成员在GitHub Desktop的设置中,将拉取(pull)的默认行为修改为「拉取时变基(rebase)」,之后再推送就会把本地提交直接追加到远程分支最新提交之后,不会再生成这类多余的自动合并提交。
内容的提问来源于stack exchange,提问作者CClarke
相关产品推荐
相关产品推荐

