将更改从我的分支推送到不同远程的不同分支

时间:2014-02-28 14:18:11

标签: git

我有两个回购,我已经添加了第二个回购作为远程(origin2)。我可以将更改从origin1 / branch1推送到origin2 / any_branch吗?

  1. 我更改了我的origin / branch1
  2. 中的文件
  3. 提交更改
  4. git remote update
  5. git push origin2 origin2 / any_branch告诉我一切都是最新的。

3 个答案:

答案 0 :(得分:3)

使用

git push origin2 branch1:any_branch

来自man git push

<refspec>...
  Specify what destination ref to update with what source object. 
  The format of a <refspec> parameter is an optional plus +, followed
  by the source object <src>, followed by a colon :, followed by the 
  destination ref <dst>.

答案 1 :(得分:1)

首先,在本地查看origin1/branch1

% git checkout branch1 
Branch branch1 set up to track remote branch branch1 from origin.
Switched to a new branch 'branch1'

然后按下origin2/any_branch

% git push origin2 branch1:any_branch
Counting objects: 3, done.
Writing objects: 100% (3/3), 238 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To path/to/origin2
 * [new branch]      branch1 -> any_branch

参考:

答案 2 :(得分:1)

来自GitHub

  

要将本地分支推送到已建立的远程,您需要发出   命令:

     

git push REMOTENAME BRANCHNAME

     

这通常被调用为

     

git push origin master

     

如果你想给分行一个   在推送的上游侧不同的名称,你可以发出   命令:

     

git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME

     

如果您的本地存储库副本与(后面)不同步   您正在推送的上游存储库,您将看到一个   消息说&#34;此分支无法快速转发。&#34;这只是   意味着您必须在能够之前检索上游更改   推动你的本地变化。