我在git中有一个分支,它可以很干净地应用于主人。它包含一个包含10个特性的提交,这些特性将清晰地应用于掌握。但是我想把这些变化合并成基于主功能的。特性更改并不在文件级别(因此,一个更改文件可能包含对2-3特性的更改,但它们可以很容易地拆分)。但是,对整个文件内容的任何合并策略都会失败,因此,它更像文件1中的第10-20行和文件中的第70-80行,以及文件3中的第100行。有没有哪种编辑
是否有任何工具(链)可以在视觉上支持这种工作流?
发布于 2016-05-14 13:38:00
考虑到您希望将零敲碎打地合并到master中的工作是在一个非master all-in-one分支上进行的,我建议首先拆分all-in-one提交,然后一次合并一个较小的提交到master。这样,与在补丁中合并不同,您的Git历史记录将能够跟踪更改的来源。
要做到这一点,有多种方法。一种方法是从与您的piecemeal分支相同的起点创建第二个master分支,将all-in-one合并到piecemeal分支而不提交,取消任何阶段性的更改,然后开始将未执行的工作分解为对piecemeal的更小的提交。
为了在视觉上帮助将未完成的工作分解为多个提交,git add --patch .允许您将当前未分阶段的“大块头”代码分阶段(或不)到控制台中的Git索引。
git gui提供了一种图形化的方法来进行同样的操作:选择“未分阶段的文件”,右键单击“文件”部分,单击“Stage Hunk For Commit”。有关逐阶段图片和更多详细信息,请参见http://www.adamfranco.com/2009/01/13/git-tip-of-the-day-stage-hunks/。
发布于 2016-05-14 15:08:16
假设分支类似于-A-B,并且希望将B拆分为多个提交。
git reset A
git add some_file -p
git commit
git add some_file -p
git commit
...参考:加法查看编辑补丁部分并试一试
https://stackoverflow.com/questions/37226897
复制相似问题