是否有可能将变更从一个分支提交到另一个分支。

假设我在BRANCH1中提交了更改,并希望将它们推到BRANCH2。

从BRANCH1中,这样做是否有效:

git push origin **BRANCH2**

然后重置BRANCH1?


当前回答

在BRANCH1上提交更改。 打开终端,输入命令-> "git push <remote_name> <branch1_name>:<branch2_name>"

完成了。

对于这个问题: 命令为

git push origin BRANCH1:BRANCH2

编辑:现在我意识到,GitHub桌面有很好的UI将你的变化从一个分支到另一个。当然,这不是一个比用手敲击终端命令更好的选择。

其他回答

@SLaks的答案是小道具,这对我来说基本适用。但是在分支有不同头的情况下。一个方便的方法是使用樱桃。

git登录Branch1与您的更改 复制提交SHA您的更改 Git checkout branch2 -在这里应用您的更改 git选择SHA_OF_COMMIT_FROM_STEP_2

这很容易做到

git status
git add .
git commit -m "any commit"
git pull origin master 
git push origin master:development # assuming 'development' is the target branch name.

当然,尽管它只在BRANCH2的快进或强制时才会工作。这样做的正确语法是

git push <remote> <source branch>:<dest branch> 

查看git push手册页上关于“refspec”的描述,了解更多关于它如何工作的详细信息。还要注意,强制推送和重置都是“重写历史”的操作,心脏不好的人不应该尝试,除非你绝对确定你对任何远程存储库和其他拥有同一项目的分叉/克隆的人知道你在做什么。

差不多可以了。

当推入一个非默认的分支时,你需要指定源ref和目标ref:

git push origin branch1:branch2

Or

git push <remote> <branch with new changes>:<branch you are pushing to> 

当您将代码推到另一个分支时,只需遵循下面的git命令。记住demo是我的另一个分支名,你可以用你的分支名替换。

git push origin master:demo