在错误的分支中进行了更改 - 如何将这些更改发送到另一个分支以进行提交

时间:2016-06-29 20:40:22

标签: git

我刚刚对代码进行了一些更改,以为我在我的分支fooBar中。事实证明我正在做主人。我不允许提交我的代码来掌握。我必须将我的代码推送到fooBar分支,向上级提出拉取请求,然后他们将我的分支合并到主服务器。

所以我的困境是我在本地掌握了这些变化。当我执行git checkout fooBar时,我的代码更改不会随身携带到分支机构。我已经尝试通过执行git push origin fooBar将这些更改推送到分支,但它只是说“Everything Up-to-Date”,即使更改没有到达分支。

如何将我的更改推送到fooBar分支?

$ git status
On branch master

2 个答案:

答案 0 :(得分:3)

如果您对master的更改位于远程fooBar分支之前,并且您只想将它​​们推送到远程fooBar分支,那么您可以执行以下操作:

git push origin master:fooBar

或者,您可以使用merge / cherry-pick / etc将更改提取到本地fooBar分支...

例如:

git checkout fooBar
# To pull in the last commit from master into fooBar:
git cherry-pick master
# Or to pull in all commits on master into fooBar:
git merge master

然后像平常一样推送你的本地fooBar分支。

答案 1 :(得分:0)

我会先复制您承诺掌握的代码(每个文件) 然后将master回滚到上一次提交。 接下来,我将转到fooBar分支,并查看应该在那里提交的每个文件。 对这些文件进行更改。 然后将这些更改提交到fooBar分支。

我希望这是有道理的。