到目前为止,我已采取以下步骤:
现在,我还没准备好将实验合并到主人。但是我想将它推回到远程仓库,因为那是我与几位同事共享的存储库。我想让他们看看我在实验部门做了些什么。我通常只是通过SSH访问远程仓库。
如何在不影响远程仓库主分支的情况下在远程仓库上共享本地分支?
答案 0 :(得分:156)
git push origin experimental
在源存储库中找到与experimental
匹配的引用(很可能会找到refs/heads/experimental
),并使用它更新源存储库中的相同引用(例如refs/heads/experimental
)。
如果experimental
远程不存在,则会创建。
这与:
相同git push origin experimental:refs/heads/experimental
通过复制当前experimental
分支在原始存储库中创建分支experimental
只有当本地名称和远程名称不同时,才需要在远程存储库中创建新分支或标记;否则,引用名称本身就可以使用。
或者,如git tip中所述,您可以设置“分支的默认远程”:
您可以使用git config为给定分支分配默认远程。除非另有说明,否则此默认遥控器将用于推送该分支。
使用git clone时已经为您完成了这项工作,允许您使用git push而不使用任何参数来推送本地主分支来更新源存储库的主分支。
git config branch.<name>.remote <remote>
可用于手动指定。
Jan建议(git >= 1.7.0)push -u
(或push --set-upstream
)选项:
对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull(1)和其他命令使用。
这样,您就不必进行任何git配置。
git push -u origin experimental
答案 1 :(得分:15)
如果分支的名称为experimental
,并且远程的名称为origin
,那么
git push origin experimental
答案 2 :(得分:1)
git push -u <remote-name> <branch-name>
不起作用,即如果你没有使用git checkout -b new_branch
创建新分支,那么这将不起作用。< / p>
例如,我在本地克隆了两个不同的存储库,我不得不将repo2 / branch1复制到repo1 /然后推送它。
This链接帮助我将我的本地分支(从另一个仓库克隆)推送到我的远程仓库:
答案 3 :(得分:0)
这是github远程管理http://github.com/guides/push-a-branch-to-github的权威github页面。它将帮助您回答所有问题。
答案 4 :(得分:0)
$ git push --set-upstream origin your_new_branch
在您提交的内容很少之后:
$ git checkout -b your_new_branch
$ git add file
$ git commit -m "changed file"
您将指定上游的分支推送到其中一个远程存储库中,如下所示:
$ git push --set-upstream REMOTE YOUR_BRANCH
遥控器可以通过
看到$ git remote -v
通常,您将拥有单个默认远程origin
。所以你的命令看起来像:
$ git push --set-upstream origin your_new_branch
并且可以使用git push
进行所有后续推送。