到目前为止,我已经采取了以下步骤:
中的Git代码
现在,我还没有准备好将实验性合并到master中。然而,我确实想把它推回到远程存储库,因为那是我与几个同事共享的存储库。我想让他们看看我在实验分支中做了什么。我通常只通过SSH访问远程存储库。
如何在不影响远程存储库的主分支的情况下共享远程存储库上的本地分支?
发布于 2009-04-30 04:13:03
根据git push manual page的说法
git push origin experimental
在源库中找到一个与experimental
匹配的ref (很可能会找到refs/heads/experimental
),并用它在源库中更新相同的ref (例如refs/heads/experimental
)。
如果远程不存在 experimental
,则会创建。
这与以下内容相同:
git push origin experimental:refs/heads/experimental
通过复制当前experimental
分支,在源库中创建分支experimental
。
当本地名称和远程名称是不同的时,只有在远程存储库中创建新的分支或标记时,才需要使用此表单;否则,引用名称本身将起作用。
或者,就像在git tip中提到的,你可以设置一个“分支的默认遥控器”:
您可以使用git config将默认遥控器分配给给定的分支。除非另有说明,否则此默认遥控器将用于推送该分支。
当您使用git clone时,这已经为您完成了,允许您使用不带任何参数的git push来推送本地主分支来更新原始存储库的主分支。
git配置branch..remote
可用于手动指定此项。
Jan建议(对于git >= 1.7.0) push -u
(或push --set-upstream
)选项:
对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数git-pull(1)和其他命令使用。
这样,你就不需要做任何git配置了。
git push -u origin experimental
发布于 2009-04-30 03:21:42
如果分支的名称是experimental
,而远程的名称是origin
,那么它的
git push origin experimental
发布于 2014-02-25 06:12:23
如果新创建的分支不是从相同的存储库派生出来的,那么git push -u <remote-name> <branch-name>
就不起作用,也就是说,如果您没有使用git checkout -b new_branch
创建新分支,那么这将不会起作用。
例如,我在本地克隆了两个不同的存储库,我必须将repo2/branch1 1复制到repo1/,然后也推送它。
This链接帮助我将本地分支(从另一个存储库克隆)推送到远程存储库:
https://stackoverflow.com/questions/805222
复制相似问题