我从 master 创建了一个“功能”分支并工作了很长时间。然后,我获取了最新的主分支提交,并在其之上重新定位了我的“功能”分支提交。然后我将“功能”合并到master中。但是,我忘记了合并并继续提交到“功能”分支。我现在希望将这些提交放在一个新分支中,所以我现在想创建另一个分支“feature_2”,它基于自上次合并到 master 以来“feature”分支上的提交。有什么建议么?
问问题
1340 次
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 master
is )引用,但现在可以通过feature2
(feature
重置为之前的 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 回答