Git 2.35无需显式指定分支执行推拉的配置方案咨询
解决方案
针对你的Git 2.35版本,除自定义别名外,可通过以下配置组合实现无需显式指定分支执行push和pull操作:
- 配置
push.default = current:确保push时自动推送到远程仓库的同名分支,无需手动指定目标分支。 - 配置
pull.default = current:让pull操作默认拉取当前分支对应的远程同名分支(需配合默认远程仓库配置)。 - 配置
branch.defaultRemote = origin:指定默认远程仓库为origin,当本地分支未设置上游时,pull会自动尝试拉取origin上的同名分支。 - 保留你已配置的
branch.autosetupmerge = always和branch.autosetuprebase = always:从远程分支创建本地分支时自动关联上游,并在pull时自动执行rebase。
将这些配置添加到你的~/.gitconfig文件中:
[push] default = current [pull] default = current [branch] autosetupmerge = always autosetuprebase = always defaultRemote = origin
注意事项
- 本地新建分支第一次推送时,仍需执行
git push -u来关联上游分支(该命令远短于你不想输入的git branch --set-upstream-to=...),后续的push和pull操作都无需指定分支。 - Git 2.35版本不支持
push.autoSetupRemote(该特性在2.37版本才引入),因此如果完全不想手动执行关联上游的操作,只能通过自定义别名简化,例如:
之后使用git config --global alias.pushu 'push -u origin HEAD'git pushu即可完成第一次推送并自动设置上游。
内容的提问来源于stack exchange,提问作者Vitaly Zdanevich
相关产品推荐
相关产品推荐

