Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git-从另一个远程分支更新远程分支_Git - Fatal编程技术网

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

Git-从另一个远程分支更新远程分支,git,Git,在我的项目中,服务器上有两个分支Goa1和Goa2,所有开发人员都可以访问 Goa1由多个团队更新,Goa2用于我的团队,应该始终使用Goa1的更改进行更新 在我的本地机器上,我有两个本地分支,我不断从Goa1获得更改。目前在Goa2上还没有任何积极的发展,但是,我希望将来能不断更新它。为此,我做了如下工作 $git checkout Goa1 $git pull origin Goa1 Goa1已使用服务器的最新更改进行更新 $git checkout Goa2 $git pull or

在我的项目中,服务器上有两个分支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的头被更新为新的东西,上面的命令应该将更改推送到分支


提前谢谢

好的,让我们来看看您在这里试图做什么:

您的第一步“$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中;博士组

TL;博士


我是按照这些步骤做的。git checkout Goa1 git pull origin git checkout Goa2 git merge origin/Goa1然而,在此之后,我想将更改后的本地Goa2分支推送到远程。但这不起作用。结果是相同的$git push origin Goa2:refs/for/Goa2总计0(增量0),重用0(增量0)远程:处理更改:refs:1,完成![remote rejected]Goa2->refs/for/Goa2(无新更改)错误:无法将某些引用推送到“有什么证据表明您的拉操作添加了新的提交?我可以看到Goa2分支的头指向Goa1的最新提交。如果以前是这样,并且没有添加任何内容,则会是这样。嗯,没有,我敢肯定,刚才的头指向了别的东西。在拉日志之后,我在命令行上看到了从Goa1拉过来的很多变化。所以,请显示您正在查看的证据。
git checkout Goa1
git pull origin
git checkout Goa2
git merge origin/Goa1