将当前分支中的更改推送到其他分支

时间:2019-09-06 20:32:43

标签: git rebase git-commit

我现在正在if (widget.text === 'keyboard_arrow_right') { widget.text = 'keyboard_arrow_down'; } else { widget.text = 'keyboard_arrow_right'; } 分支上工作。之前,我从dev分支创建了featureX分支,此后我对dev分支进行了15次提交。现在,我希望在dev分支中进行所有15次提交,以便我的featureX分支也可以完成上周在featureX分支中所做的所有工作。

我对devrebase等命令非常困惑。我应该使用其中之一吗?

1 个答案:

答案 0 :(得分:1)

听起来好像有三个git命令可能会有所帮助:rebasecherry-pickmerge

变基

  

集成分支的最简单方法是合并命令。它在两个最新的分支快照之间以及两个分支的最新共同祖先之间执行三向合并,以创建新的快照(并提交)。

     

但是,还有另一种方法:您可以获取已引入的更改的补丁……并将其重新应用在最上面。在Git中,这称为变基。使用rebase命令,您可以执行在一个分支上提交的所有更改,并在另一个分支上重播它们。

在您的示例中,您可以执行以下操作:

git checkout featureX
git rebase dev
# continue your development on the featureX branch

# if there are conflicts, resolve them, and then continue with
git rebase --skip

# when done with changes, do:
git checkout dev
git merge featureX

樱桃采摘

  

应用一些现有提交所引入的更改。

在您的示例中,您可以执行以下操作:

git checkout dev
git cherry-pick ^HEAD dev

合并

将更改从一个分支合并到另一个分支。

在您的示例中,您可以执行以下操作:

git checkout featureX
git merge dev

所有示例和摘录均来自文档:

进一步阅读: