如何在git中为新分支设置默认上游?

如何在git中为新分支设置默认上游?,git,Git,我想将本地创建的任何分支的默认上游分支设置为origin/main 这主要用于pull--rebase,因为我们从不推动远程(只通过代码审查过程) 现在,我通过以下方式实现这一目标: $ git checkout -b some-new-branch-name $ git branch --set-upstream-to=origin/main 没关系(我有一个Bash别名可以帮我这么做),但我想知道是否可以将git的config设置为自动完成这项工作 到目前为止,我查看了git config

我想将本地创建的任何分支的默认上游分支设置为
origin/main

这主要用于
pull--rebase
,因为我们从不推动远程(只通过代码审查过程)

现在,我通过以下方式实现这一目标:

$ git checkout -b some-new-branch-name
$ git branch --set-upstream-to=origin/main
没关系(我有一个Bash别名可以帮我这么做),但我想知道是否可以将git的config设置为自动完成这项工作

到目前为止,我查看了
git config
文档和StackOverflow问题,但没有找到解决方案


这是可能的吗?

您可以将
分支。autoSetupMerge
选项设置为
true
,让Git为从远程引用创建的分支自动启用
--track
(相当于设置上游)

但是,
true
实际上是此设置的默认值-您可能看不到其效果的原因是因为您实际创建的分支是从
main
的本地副本开始的

如果使用以下内容创建分支:

git checkout -b new-branch-name origin/main`

然后将自动跟踪
origin/main

您可以使用签出后挂钩设置上游分支

即使您无法自动执行,您也可以通过将上游设置为分支创建的一部分来简化它-
git checkout-b一些新分支名称--跟踪origin/master
可能重复的感谢,这可能是一个解决方案,但这意味着我现在必须键入
git checkout-b new branch name origin/which-base-branch-I-want
,而不是现在输入的简单
git checkout-b new branch name
。没有多大改善。顺便说一句,对于我们的几个存储库,“主”分支有不同的名称,如果我能告诉git“跟踪原始分支跟踪的任何内容”,那就太好了。谢谢。看起来很有希望。我正在寻找实现这一点的方法。