首页 > 解决方案 > 为什么我的开发分支每次都让我提交合并?

问题描述

出于某种原因,每次我git pull在本地开发分支上执行一次新的合并提交时,都会在我的 PR 中创建一个带有许多此类消息的可怕怪物。我该如何阻止这个?

Merge branch 'develop' of github.com:repo into develop

在此处输入图像描述

更新_git config -l file

credential.helper=osxkeychain
alias.last=log -1 HEAD
{more aliases}
user.name=xxx
user.email=xxx
pull.rebase=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
core.hookspath=.husky
remote.origin.url=xxx
xxx.git
remote.origin.fetch=+refs/heads/*:refs/remotes/ori
gin/*
branch.develop.remote=origin
branch.develop.merge=refs/heads/develop
{more branches}

标签: gitmergepull

解决方案


大概您已将拉配置为合并,这是默认设置。

如果您git fetch改为运行 if git pull,您是否看到有关 origin/develop 的更新?您希望这些更新如何集成到您的本地开发分支中?

选项是

  1. 合并(默认)
  2. rebase (将本地更改重新应用到远程更改之上)

如果您已经将本地开发分支推送到任何远程(除非您想强制推送更新),那么您就不能真正使用 rebase,否则没关系。通过运行测试它

git pull --rebase

明确地设置,pull.rebase如果您喜欢这种行为并希望将其设为默认值。


注意。无论如何,我总是建议fetch先运行,这样您就可以检查您是否真的想立即集成所有上游更改。再说一次,如果你在特性分支上开发而不是在 shared 上开发develop,这真的不再是一个问题了。


推荐阅读