【发布时间】:2019-02-07 13:06:24
【问题描述】:
我认为我正在寻找的是两个分支的最古老的共享祖先,或者类似的东西,这个问题似乎涉及到它: Finding a branch point with Git?
但不是 OP 中的图表,而是我正在查看的更多内容:
-- I -- I -- I -- I -- I -- I -- I (integration branch)
\ \ /
\ \ /
F -- F -- F -- F (feature branch)
我的问题是 - 如果我们从集成中签出功能分支并进行一些更改和一些提交,然后我们会随着集成进行几次更新/合并。又名,提交提交,与集成合并,提交提交,与集成合并等。如果我们然后执行git reset --soft <integration>,是在使用git checkout 时将其重置为集成提交,还是会简单地重置它到了最后一个 git merge 与集成发生的地步?
目标是让我可以将我的功能变成一个大提交。如果git reset --soft 只能追溯到最后一个 git 与集成的合并,那么我的功能可能有 100 次提交,这不是 bueno,我将需要另一种技术。
【问题讨论】:
-
git reset --soft将当前分支移动到您告诉它移动的位置。它自己不做任何搜索或决定。您正在寻找git merge-base --fork-point。
标签: git git-merge git-checkout git-reset