如何更改分支的根分支

时间:2018-10-09 18:15:21

标签: git

假设我有一个masterdevelop分支。 develop拥有master没有的代码。我从develop分支并创建feature,编写一些新代码,将其合并到develop中(以进行分阶段测试)。然后,我决定将feature合并到master中,但包括develop中不在主数据库中的所有内容,而我现在不想合并。如何使feature拥有我添加的代码,就像它是从master而不是develop分支出来的一样?我已经阅读了一些有关rebase和Cherry-pick的文章,但是我可以看到与我的例子完全一样的示例(其中feature已经合并到develop中)

2 个答案:

答案 0 :(得分:0)

我会说

git rebase --onto master develop feature

然后将其合并到母版中

git merge master

如果需要,您可以创建中间分支名称。

答案 1 :(得分:0)

develop分支获取提交列表。

  1. git checkout develop
  2. git log并获得提交hash-number

示例提交hash-numbercommit 0ef6a22f4a4bd1dc4561dab413a9ff09780d18c0

获取提交哈希之后。结帐母版和Cherry逐个从developmaster进行提交。最好从较早的提交到较新的提交,以避免更多的合并冲突。

  1. git checkout master
  2. git cherry-pick hash-number