到目前为止,我已采取以下步骤:
克隆了一个远程Git仓库
将主分支分支到实验室
在实验分支中编辑/测试/提交的代码
现在,我还没准备好将实验合并到主人.但是我想将它推回到远程仓库,因为那是我与几位同事共享的存储库.我想让他们看看我在实验部门做了些什么.我通常只是通过SSH访问远程仓库.
如何在不影响远程仓库主分支的情况下在远程仓库上共享本地分支?
根据git push手册页:
git push origin experimental
找到experimental
在源存储库中匹配的引用(很可能,它会找到refs/heads/experimental
),并使用它更新源存储库中的相同引用(例如refs/heads/experimental
).
如果experimental
不存在远程,则会创建它.
这与:
git push origin experimental:refs/heads/experimental
experimental
通过复制当前experimental
分支在原始存储库中创建分支.仅当本地名称和远程名称不同时,才需要
此表单在远程存储库中创建新分支或标记 ; 否则,引用名称本身就可以使用.
或者,如git tip中提到的,您可以设置"Branch的默认远程":
您可以使用git config将默认远程分配给给定分支.除非另有说明,否则此默认远程将用于推送该分支.
当您使用git clone时,已经为您完成了此操作,允许您使用git push而不使用任何参数来推送本地主分支以更新源存储库的主分支.
git config branch..remote 可用于手动指定.
Jan建议(对于git> = 1.7.0)push -u
(或push --set-upstream
)选项:
对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull(1)和其他命令使用.
这样,你不必做任何git配置.
git push -u origin experimental
如果分支的名称是experimental
,并且遥控器的名称是origin
,那么它就是
git push origin experimental