2014-10-09 219 views
1

标题说明了一切。git合并远程分支而不必创建本地分支

所以我公司拥有这些分支出来git的枢纽:

origin/master (use this for dev) 
origin/QA 
origin/staging 
origin/live 

本地我有

master (a branch of origin/master). 

我希望能够产地/ QA移动到原点/分期。

我能想到的唯一选择是将原点/分段克隆到我的本地盒子,在原点/ QA中合并,然后将我的本地分段分支推送到原点/分段。

如:

git checkout -b origin/staging 
git merge origin/QA 
git push; 

我敢肯定有一个更好的方式来做到这一点,因为我不必在本地创建一个随机的分支...可能打破其他一些好的做法为好。有没有更好的办法?

回答

0

“我希望能够将原产地/质量保证移至原产地/分期” 如果该报价实际上是您想要的,那么以下内容将实现它。您只需告诉远程将其参考“QA”更新为指向“起源/暂存”所在的SHA即可。如果质量保证和分期分开,这可能不是你想要做的。此外,如果其他人有地方工作坐在QA你会走出来移动它下他们,他们将需要

git push -f origin origin/staging:QA 

“从上游底垫中恢复”如果这不是你想要做什么,那么请更新你的问题与更多的信息。

+0

因此,上述命令将更新更新原点/分段的SHA以指向原点/ QA的SHA?我相信这正是我想要的,但我不想将质量检查从其他开发人员那里移出,因为他们可能正在进行质量检查。分级只应从QA上的内容进行更新,以免分歧。 – RayLoveless 2014-10-09 21:52:36

+0

不,它会将您的遥控器上的QA参考移动到与分段相同的位置。如果你想要反转,只需将冒号周围的引用颠倒过来即可。 'git push sha_in_my_repo_to_use_as_the_update:reference_on_remote_to_update' – 2014-10-09 21:55:50

+0

我想“将原点/ QA移动到原点/分段” – RayLoveless 2014-10-09 21:57:58