Git - 将本地分支推送到远程

时间:2017-02-07 18:22:09

标签: git

我创建了一个本地分支,添加了几个文件并将它们推送到远程。当我第一次推送我的更改时,我使用了: git push origin test1 - 其中test1是我的分支的名称。 此后,我做了其他更改,只做了git push。 我是否需要在每次推送时指定远程名称或在我第一次推送后设置?

另外,当我git branch -vv时,我会看到以下内容:

  master 6727062 [origin/master] ..
  test   c745cca ..
* test1  4bd622d ..
  testx  2fbfdfc ..

我期待test1分支跟踪远程test1,但我在这里看不到。

我错过了什么?

3 个答案:

答案 0 :(得分:3)

您可以设置git分支以从不同的远程分支推送和拉取。如果要设置跟踪,则需要明确地执行此操作。有几种方法可以做到这一点。

  1. 指定-u/--set-upstream作为git push的参数。

    git push -u origin test1
    

    除非您想使用其他遥控器,否则您不需要在此之后为推或拉指定遥控器。 git push test1将永远推向原点。如果您想要推送到另一个遥控器,您仍然可以使用git push upstream test1

  2. 在您进行初步推送后,指定-t/--trackinggit checkout

    git checkout -t origin/test1
    

    在这种情况下,本地分支的名称是可选的,因为您打算保留与远程名称相同的名称。

  3. 使用git branch -u/--set-upstream

    手动设置远程跟踪
    git branch -u test1 origin/test1
    
  4. 您可以在以下优秀答案中找到更多详细信息:https://stackoverflow.com/a/10002469/2988730

答案 1 :(得分:0)

如果您使用-u(a.k.a。--set-upstream)进行推送,则会按预期配置跟踪。如果没有,那么不是。您可以在下次推送时设置此功能,也可以使用git branch --set-upstream-to=test1 test1

答案 2 :(得分:-2)

您需要先检查test1分支机构,然后再对其进行更改。

使用此命令..

git checkout <branch name>

在你的情况下,

git checkout test1