我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?

我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。


当前回答

为了创建新分支,我们可以使用以下命令git checkout--track-b示例原点/example对于已创建的分支,要在远程分支之间创建链接,请使用以下命令

gitbranch-u源/远程分支名称

其他回答

这也行

git branch --set-upstream-to=/< remote>/< branch> < localbranch>

简而言之

git branch --set-upstream yourLocalBranchName origin/develop

这将使您的LocalBranchName跟踪名为develop的远程分支。

对于git版本2.25.1,请使用以下命令:

git push --set-upstream origin <local_branch_name>

或简单地通过:

如果您还不在分支中,请切换到分支:

[za]$ git checkout branch_name

run

[za]$ git branch --set-upstream origin branch_name
Branch origin set up to track local branch brnach_name by rebasing.

您准备好:

 [za]$ git push origin branch_name

您可以查看配置文件,看看是什么通过运行以下命令来跟踪什么:

 [za]$ git config -e

很高兴知道这一点,它显示了哪些分支被跟踪,哪些分支没有被跟踪。:

  [za]$ git remote show origin 

给定分支foo和远程上游:

截至Git 1.8.0:

git branch -u upstream/foo

或者,如果本地分支foo不是当前分支:

git branch -u upstream/foo foo

或者,如果您想键入更长的命令,这些命令相当于以上两个命令:

git branch --set-upstream-to=upstream/foo

git branch --set-upstream-to=upstream/foo foo

截至Git 1.7.0(1.8.0之前):

git branch --set-upstream foo upstream/foo

笔记:

以上所有命令都将导致本地分支foo从远程上游跟踪远程分支foo。旧的(1.7.x)语法被弃用,取而代之的是新的(1.8+)语法。新语法旨在更直观、更容易记住。当对尚未获取的新创建的远程设备运行时,定义上游分支将失败。在这种情况下,请预先在上游运行gitfetch。


另请参见:为什么我需要一直做“--set upstream”?