我创建了一个主要的“功能”分支并且工作了很长时间。然后,我获取了最新的master分支提交,并重新设置了我的“功能”分支提交。然后我将“功能”合并为主人。但是,我忘了合并并继续进入“功能”分支。我现在想要在新分支中提交这些提交,所以我现在想创建另一个分支“feature_2”,它基于自上次合并到master之后“feature”分支上的提交。有什么建议吗?
答案 0 :(得分:1)
考虑到:
feature
以来,master
已经引用了提交
x--x--x (master) \ y--y--y (feature)
,你可以简单地说:
git checkout feature
git checkout -b feature2
git branch -f feature master
master
合并后)feature
未提交任何提交x--x--x (master, feature) \ y--y--y (feature2)
feature
不再引用来自master的所有提交(重置为master
所在的位置),但现在可以通过feature2
访问feature
}在被重置为master
)
OP Chip Castle添加:
我有其他3个团队成员从那时起他们的分支合并为master,所以我不想合并我已经合并的相同提交。
我希望只为我需要的功能提供SHA范围从功能到新分支。有没有办法做到这一点或更好的方式?
所以情况是:
x--x--x--y'--y' (master, updated after a fetch from other repo) \ y'--y'--y--y (feature, with y' being already merged, and y being the commits I need)
然后你可以简单地在master上重新设置功能:相同的提交将被忽略。