4

我从 master 创建了一个“功能”分支并工作了很长时间。然后,我获取了最新的主分支提交,并在其之上重新定位了我的“功能”分支提交。然后我将“功能”合并到master中。但是,我忘记了合并并继续提交到“功能”分支。我现在希望将这些提交放在一个新分支中,所以我现在想创建另一个分支“feature_2”,它基于自上次合并到 master 以来“feature”分支上的提交。有什么建议么?

4

1 回答 1

1

考虑到:

  • feature自上次合并以来已经引用了提交master
  • 分支只是指针
x--x--x (主)
       \
        y--y--y(特征)

,您可以简单地:

  • git checkout feature
  • git checkout -b feature2
  • git branch -f feature master
    master(前提是feature合并 后没有提交)
x--x--x (主,功能)
       \
        y--y--y(特征2)

来自 master 的所有提交不再被feature(重置为 where masteris )引用,但现在可以通过feature2feature重置为之前的 where is master)访问


OP芯片城堡增加了:

从那时起,我有 3 个其他团队成员将他们的分支合并到 master 中,所以我不想合并我已经合并的相同提交。
我希望仅为从功能到新分支所需的提交提供 SHA 范围。有没有办法做到这一点或更好的方法?

所以情况是:

x--x--x--y'--y' (主,从其他仓库获取后更新)
       \
        y'--y'--y--y (特征,其中 y' 已经合并,
                      y 是我需要的提交)

然后你可以简单地在 master 之上 rebase 特性:相同的提交将被忽略。

于 2010-08-17T03:56:19.520 回答