Coo*_*coa 127 git version-control distributed
到目前为止,我已采取以下步骤:
现在,我还没准备好将实验合并到主人.但是我想将它推回到远程仓库,因为那是我与几位同事共享的存储库.我想让他们看看我在实验部门做了些什么.我通常只是通过SSH访问远程仓库.
如何在不影响远程仓库主分支的情况下在远程仓库上共享本地分支?
Von*_*onC 157
根据git push手册页:
git push origin experimental
Run Code Online (Sandbox Code Playgroud)
找到experimental
在源存储库中匹配的引用(很可能,它会找到refs/heads/experimental
),并使用它更新源存储库中的相同引用(例如refs/heads/experimental
).
如果experimental
不存在远程,则会创建它.
这与:
git push origin experimental:refs/heads/experimental
Run Code Online (Sandbox Code Playgroud)
experimental
通过复制当前experimental
分支在原始存储库中创建分支.仅当本地名称和远程名称不同时,才需要
此表单在远程存储库中创建新分支或标记 ; 否则,引用名称本身就可以使用.
或者,如git tip中提到的,您可以设置"Branch的默认远程":
您可以使用git config将默认远程分配给给定分支.除非另有说明,否则此默认远程将用于推送该分支.
当您使用git clone时,已经为您完成了此操作,允许您使用git push而不使用任何参数来推送本地主分支以更新源存储库的主分支.
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
Joh*_*hat 15
如果分支的名称是experimental
,并且遥控器的名称是origin
,那么它就是
git push origin experimental
Run Code Online (Sandbox Code Playgroud)