如何推送到不同项目的分支

时间:2017-12-29 17:10:47

标签: git

所以我有这个场景。我有2个项目,P1和P2。还要考虑这些项目有分支机构:P1B1和P2B1(项目和分支机构)。我想把我的本地更改从P1B1直接推送到P2B1(否则创建一个新分支并推送到P2B2也没关系。如果有一个简单的方法,请告诉我。

2 个答案:

答案 0 :(得分:2)

在下文中,我假设您所称的"项目"是相同代码库的副本,这两个代码库都受版本控制,并且可能在其自己的分支上进行不同的更改和工作。 Git称这些"存储库为#34;。您可以通过创建远程数据库将存储库相互连接。

如果P1和P2是不同服务器上的存储库,并且您自己的计算机上有本地存储库,则可以为它们创建远程存储库:

$ git remote add p1 <URL to P1>
$ git remote add p2 <URL to P2>

现在,您可以使用大多数git命令与任一存储库进行交互。例如,您可以从两个repos中获取所有分支:

$ git fetch p1
$ git fetch p2

您还可以将分支b1上的当前工作推送到两者:

$ git checkout b1
$ git push p1 b1
$ git push p2 b1

有关详细信息,请参阅Working with Remotes中的Pro Git

答案 1 :(得分:1)

根据git pushhttps://git-scm.com/docs/git-push)上的git文档,您可以为推送指定存储库和分支

所以git push <R2 url> <branch name>(例如git push ssh://git@host.xz/path/to/P2.git/ B1

来自文档:

  

存储库:作为推送操作目标的“远程”存储库。此参数可以是网址(请参阅下面的GIT URLS部分)或遥控器的名称(请参阅下面的REMOTES部分)。