在我的项目中,服务器上有两个分支Goa1和Goa2,所有开发人员都可以访问。
Goa1是由多个团队更新的,而Goa2是为我的团队准备的,应该始终使用Goa1的更改进行更新。
在我的本地机器上,我有这两个本地分支,并且我不断地从Goa1获得更改。目前在Goa2上没有积极的开发,但是我希望保持它的更新以备将来使用。因此,我所做的如下所示
$git checkout Goa1
$git pull origin Goa1使用来自服务器的最新更改更新Goa1
$git checkout Goa2
$git pull origin Goa1将使用Goa1中的所有签入更新本地分支Goa2
现在,我正在尝试通过以下失败的命令将更新后的提交从本地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中的头被更新为新的东西,所以上面的命令应该将更改推送到分支。
提前谢谢。
发布于 2014-06-13 17:12:54
好的,让我们来看看你在这里尝试做的事情:
你的第一步"$git checkout Goa1“只是确保你在Goa1分支上,第二步"$git pull origin Goa1”只拉取Goa1更新(你可能想拉出所有更新)第三步"$git checkout Goa2“现在让你更改分支到Goa2第四步"$git pull fourth 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/Goa1https://stackoverflow.com/questions/24201237
复制相似问题