我创建了一个本地分支,添加了几个文件并将它们推送到远程。当我第一次推送我的更改时,我使用了:
git push origin test1
- 其中test1
是我的分支的名称。
此后,我做了其他更改,只做了git push
。
我是否需要在每次推送时指定远程名称或在我第一次推送后设置?
另外,当我git branch -vv
时,我会看到以下内容:
master 6727062 [origin/master] ..
test c745cca ..
* test1 4bd622d ..
testx 2fbfdfc ..
我期待test1
分支跟踪远程test1
,但我在这里看不到。
我错过了什么?
答案 0 :(得分:3)
您可以设置git分支以从不同的远程分支推送和拉取。如果要设置跟踪,则需要明确地执行此操作。有几种方法可以做到这一点。
指定-u/--set-upstream
作为git push
的参数。
git push -u origin test1
除非您想使用其他遥控器,否则您不需要在此之后为推或拉指定遥控器。 git push test1
将永远推向原点。如果您想要推送到另一个遥控器,您仍然可以使用git push upstream test1
。
在您进行初步推送后,指定-t/--tracking
至git checkout
:
git checkout -t origin/test1
在这种情况下,本地分支的名称是可选的,因为您打算保留与远程名称相同的名称。
使用git branch -u/--set-upstream
:
git branch -u test1 origin/test1
您可以在以下优秀答案中找到更多详细信息: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