如何配置Git在创建本地分支时自动追踪指定远程分支
解决方案
可以通过Git的配置项实现这个需求,核心是结合两个配置分别控制拉取上游和推送目标:
关键配置设置
保持已配置的
push.default = current(你已完成该设置):git config --global push.default current这个配置会让
git push默认推送当前分支到远程同名分支,即特性分支A-feature会推送到origin/A-feature。添加
branch.autoSetupMerge = inherit配置:git config --global branch.autoSetupMerge inherit这个配置的作用是:基于现有分支创建新分支时,新分支会继承原分支的远程追踪目标作为自己的拉取上游,而非默认追踪本地原分支。
验证效果
当你在已追踪origin/A的分支A上执行git checkout -b A-feature后:
- 查看新分支的拉取上游配置:
这说明git config --get branch.A-feature.merge # 输出 refs/heads/A git config --get branch.A-feature.remote # 输出 originA-feature的拉取上游是origin/A,执行git status会显示与origin/A的差异,git rebase会直接基于origin/A操作。 - 执行
git push时,因push.default = current,会自动在远程创建并推送到origin/A-feature。
同理,基于分支B创建特性分支时,新分支会自动以origin/B作为拉取上游,推送则对应远程同名特性分支,完全匹配你的工作流需求。
内容的提问来源于stack exchange,提问作者Cameron Ball
相关产品推荐
相关产品推荐

