目前我有以下分支
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
我想做的是
所以最后,我的本地和远程都有2个分支 - master& feature-1,当我从本地主分支推送时,将更新远程主分支。当我推入功能1分支时,远程功能1也将更新。
答案 0 :(得分:2)
您无需“复制”当前的master
分支,只需在当前主分机的顶部创建一个feature-1
分支,然后将其推送到原点。
git checkout master
git checkout -b feature-1
git push -u origin feature-1 # only needed once
注意第一次推送feature-1分支的-u
选项。您不需要git set-upstream
将本地分支链接到原始名称相同的远程分支
有关详情,请参阅“Git: Why do I need to do --set-upstream
all the time?”。
答案 1 :(得分:1)
您需要做的就是
git checkout -b feature-1 master
git push -u origin feature-1
Git会在您下次发出git push
时自动推送功能-1。你所在的分支并不重要。当您发出git push
命令时,git会将您之前明确推送的任何分支推送到第一个远程 - 但只有您已明确推送到该远程的分支。如果您有多个遥控器,则可以指定git push origin
或git push upstream
。如果您明确只想将一个分支推送到远程,则需要git push origin branch-name
。
使用最新版本的git更隐式地处理跟踪(当git push
时,在远程处更新哪个分支)。
对于开源,通常有人可能有2个遥控器:
这是您希望在某些时候明确指出您所指的回购的地方。