Git-从另一个远程分支更新远程分支

时间:2014-06-13 08:47:34

标签: git

在我的项目中,我在服务器上有两个分支Goa1和Goa2,所有开发人员都可以访问它。

Goa1由多个团队更新,Goa2适用于我的团队,应始终使用Goa1的更改进行更新。

在我的本地机器上,我有这两个本地分支,我继续从Goa1获得更改。目前,Goa2尚未积极开发,但我希望将来更新。所以我要做的就是如下

$git checkout Goa1

$git pull origin Goa1

Goa1更新了服务器的最新更改

$git checkout Goa2

$git pull origin Goa1

本地分支Goa2更新了Goa1的所有签到

现在我试图通过跟随失败的命令将更新的提交从本地Goa2推送到远程Goa2。

$git push origin Goa2:refs/for/Goa2

Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done    
To https://blahblah.com/greatProject
 ! [remote rejected] Goa2 -> refs/for/Goa2 (no new changes)
error: failed to push some refs to 'https://blahblah.com/greatProject'

我有什么遗失的吗?我的印象是,由于我在本地Goa2中的HEAD更新为新的,上面的命令应该将更改推送到分支。

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,让我们来看看你在这里尝试做的事情:

你的第一步" $ git checkout Goa1"只需确保您在Goa1分支上 你的第二步" $ git pull origin Goa1"仅提取Goa1更新(您可能想要提取所有更新) 你的第三步" $ git checkout Goa2"现在让你将分支改为Goa2 你的第四步" $ git pull origin Goa1"现在从Goa1中提取代码,但它向该实际分支添加任何内容。因此,当您尝试推送这些更改而不使用" git add"对于那些新的变化,它只是说没有新的变化。你基本上这样做了:

git checkout Goa1
//create some awesome code
//ooops forgot to say "git add ."
//ooops forgot to say "git commit -m 'blah blah some awesome code'"
git push origin Goa1

您想要做的是在TL; DR部分

TL; DR

git checkout Goa1
git pull origin
git checkout Goa2
git merge origin/Goa1