如何将一个提交从一个远程分支推送到另一远程分支

时间:2020-03-26 20:48:11

标签: git

遥控器有两个分支:mainlinerelease-x

我将本地分支中的一项最新功能推送到远程mainline, 但是我不怎么把这个功能也推到release-x分支中。

任何建议将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

您有多种可能性:

首先,请确保您在本地拥有分支机构。可以通过调用arr.filter(el=> { if(el.p_id == "mobile"){ mobile_lenght = el.length} else{ electronics_length = el.length } arr = [{id:"1", p_id:"mobile", c_code:"aaa"}, {id:"2", p_id:"electronics", c_code:"aaa"}, {id:"1", p_id:"mobile", c_code:"bbb"}, {id:"2", p_id:"electronics", c_code:"bbb"}] expected output mobile_length = 2; electronics_length = 2; git pull origin mainline来完成。

复制提交

转到git pull origin release-x分支(签出本地副本),然后使用release-x将提交复制到该分支

不要忘记在那之后执行git cherry-pick <commit hash>

合并

如果您想合并差异,也可以通过检出git push origin release-x并运行mainlinerelease-x来合并从release-xgit merge release-x的所有更改。 git merge <commit hash>中的提交。

不要忘记在那之后执行mainline

只需按一下

如果要将所有更改从git push origin release-x复制到mainline,并且release-xrelease-x之后是0次提交,则也可以将mainline推送到{ {1}}使用mainline

覆盖它( 强烈反对

您还可以使用release-xgit push origin mainline:release-x的内容完全覆盖release-x的远程内容。 但这将删除对mainline中未提交的对git push -f origin mainline:release-x所做的所有更改。如果您仍然要这样做,建议您使用release,因为如果有人不知不觉地将其推入遥控器,它不会覆盖遥控器。

答案 1 :(得分:0)

指定要推送到的完整远程和分支。您从中克隆的遥控器是源。

git push origin release-x

请参阅《 Git书》 Working With Remotes中的“按入遥控器”。

这仅在您的本地分支机构和release-x具有共同祖先的情况下才有效。这可能不是管理发行分支的最佳方法,这取决于发行过程。