一开始,我的仓库看起来像这样:
master:
foo/
bar/
new-bar/
在功能分支中,许多提交已添加到新栏中:
feature:
foo/
bar/
-/
在master分支中,bar被删除,而new-bar用git mv
移到了它的位置:
master:
foo/
b̶a̶r̶/
bar/
我希望合并要素分支而不会引起大量冲突:
master:
foo/
b̶a̶r̶/
/
我如何做到这一点?
答案 0 :(得分:1)
- 在“合并”和“樱桃选择”中使用的重命名检测逻辑具有 学会猜测何时所有x / a,x / b和x / c都移到z / a, z / b和z / c,同时添加的x / d也可能 想通过提示整个目录移到z / d “ x”移至“ z”。
AFAICT涵盖了您的用例-仅使用现代的Git版本。
答案 1 :(得分:0)
如果您选择在master
顶部重新建立功能分支,则重命名应该会进行得很好。有待尝试。重新设置完成后,您的分支应该与以前一样,除了所有更改将在bar/
而非new-bar/
中完成。
如果您决定不对其进行重新设置,则在功能分支的顶部,我将添加一个将new-bar/
移为bar/
的提交,以便与master
兼容,然后合并它。
在任何情况下,您都必须尝试看看哪种更适合您的需求。