You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的develop分支每次git pull都要提交merge?该如何解决?

问题原因

你的Git配置中pull.rebase参数被设为false,这是Git的默认配置,该模式下如果本地分支存在还未推送到远端的提交,执行git pull时就会自动生成合并提交,也就是你看到的Merge branch 'develop' of github.com:repo into develop这类冗余记录。

解决方案

单次pull临时禁用merge提交

执行以下命令拉取代码即可:

git pull --rebase

该命令会先暂存你本地未推送的提交,拉取远端develop分支的最新代码后,再把你的本地提交按顺序接在最新提交的后面,全程不会生成额外的merge提交。

全局永久配置默认禁用pull生成merge提交

执行以下命令修改全局Git配置,之后所有仓库执行git pull都会默认使用rebase模式,无需每次加参数:

git config --global pull.rebase true

如果仅需要给当前仓库配置该规则,去掉命令中的--global参数即可。

注意事项

  • 执行rebase过程中如果出现代码冲突,按照提示修改冲突文件后,执行git add <冲突文件路径>,再执行git rebase --continue即可完成剩余的rebase操作。如果不需要继续本次rebase,执行git rebase --abort即可回退到操作前的状态。
  • 已经生成的冗余merge提交如果还没有合并到主仓库,可以通过变基整理提交记录后,强制推送至你的PR对应的特性分支,即可清理PR中的冗余提交信息。

内容的提问来源于stack exchange,提问作者Timothy LeBon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:09:03