在master上提交后git update分支

时间:2015-10-31 08:51:07

标签: git version-control

我有以下回购结构:

MA ---o---o---o---T1-
        |
B1      \---o--
              |
B2            \---o---o

其中MAmasterB1B2为分支,o为提交,-为开发且T1是一些时间点

现在您看到我在MA上完成第一次提交后,我创建了一个新的分支B1。然后处理B1,然后创建B2并继续处理它。

我的问题是,我已经在MA 之后再做了两次提交我创建了分支。但我希望整个分支发生在T1时间 - 以便我的B1以所有3个主提交为基础。

这里有几个问题:

  1. 是否有一些(简单)方式来重新命名 B1
  2. 如果我设法重新命名 B2B1将会发生什么?我想保留B2B1作为基础提交
  3. 的事实

1 个答案:

答案 0 :(得分:1)

当然:重新定​​义Lienzo,然后是B1 在执行此操作之前,您只需要标记旧的B1状态:

B2

在此阶段,git checkout B1 git branch oldB1 git rebase MA 保持不变:

B2

现在,MA ---o---o---o---T1---o B1 | oldB1 \---o | B2 \---o---o 将移动rebase --onto次提交(B2 HEAD - 排除 - 最高为oldB1 HEAD - 包括 - )。< / p>

B2

这将给出:

git checkout B2
git rebase --onto B1 oldB1 B2
git branch -d oldB1