我的功能分支超过了大约30个或更多提交.与此同时,在开发分支中,其他开发人员也没有推出其他功能.因此,每次在开发时发布新功能时,我都会被要求:
问题
第二步是这里的鸡脖子.在重新定位时,它为每个分支的提交提供了冲突.这实际上是迭代和冗余的.注意,由于我在分支机构的工作仍在进行中,因此我无法立即重新开发开发分支.
我尝试了什么?
squash减少我提交尽可能(但是这有助于至少,因为大部分时间没有什么壁球)stash我的改变,改变开发,然后取消我的变化.(但在这里,我也会遇到冲突)-preserve-mergesrebase.(但是这里的每个人都大声说使用它是完全气馁的)那么,当功能分支本身有大量提交时,处理功能分支上的变形发展到最少冲突的最佳方法是什么.我是一个更新鲜的人,所以回复一个有用的解释(或链接)将有助于继续.
我有以下情况:我做了一些提交到我的本地存储库,然后另一个分支(~150提交)的巨大合并到主 - 它有很多冲突.
现在,我想在合并之前将我提交的提交移动到推送之前.
通常情况下,我会使用"rebase -i".
不幸的是,默认行为是打破我所做的一次合并提交,实际上已经将150多个提交添加到单独的提交中(我理解它就像我将使用rebase而不是合并开始) - 这是不好的行为我有几个原因.
我发现了rebase的'-p'标志,它保留了合并,并且非常高兴.不幸的是,这实际上再次应用了相同的合并,并且忘记了我在解决冲突方面的辛勤工作.再次 - 不好的行为!
是否有我想要的解决方案?合并后使用rebase -i重新排序或编辑特定提交而不必重复我的合并后操作?
谢谢!
据我所知,通过保存冲突解决信息来实现项目同步非常有用,但我并不完全清楚如何使用和配置它.
我想配置我的持续集成(CI)环境.建议这样做吗?
请不要在另一个问题上标记副本:启用git rerere是否有任何缺点?.因为我的怀疑与"因此是否有任何不利因素"无关?它会导致哪些潜在的问题不会发生呢?
我想查看存储库历史记录,看看过去发生了哪些类型的合并冲突。
我试过使用,git log --merges但这似乎显示成功的合并。