我有两个分支
我的解决方法是创建一个分支并抑制损坏的特性,然后合并该分支。问题是这些git命令变得有些复杂,因此我需要专家的帮助。
如果可能的话,我希望将此类操作归纳为一个名为
步骤如下:
我的问题是:
dev
和a
。我需要将特性a
合并到dev
中,但我的队友在一个文件中制作了某些特性,这个文件还没有准备好合并。如果我只是合并并使用我的解决方案,git会将此文件中的更改标记为无效,而不是允许稍后合并这些更改,如果我尝试重新合并分支,则会快进。如果我不解决冲突,git会拒绝执行合并。我的解决方法是创建一个分支并抑制损坏的特性,然后合并该分支。问题是这些git命令变得有些复杂,因此我需要专家的帮助。
如果可能的话,我希望将此类操作归纳为一个名为
git-cherrymerge
的git扩展程序。步骤如下:
- 重播由用户指定的提交(也许可以通过一些策略自动化)到临时分支上
- 使用Git filter-branch删除损坏的文件
- 压缩临时分支,添加自动提交消息
- 将临时分支合并到目标分支(这里是dev)
filter-branch
或rebase
的专家,看起来我可能会严重损坏历史记录。我的问题是:
- 这样做可以吗?还是有更好的规范方法来做到这一点?
- 我应该按什么顺序执行git命令以避免意外损坏我的存储库历史记录。