在git中,如何避免将次要更正合并到分支的冲突,在分支中在原始行的每一行之间插入一行新内容?

有人要求why does a seemingly possible merge using git have conflicts使用与我的代码相似的代码,但是(1)我的代码略有不同,(2)我寻求解决问题的方法不仅仅是解释。

编辑:这是我经常需要对许多文件执行的操作。我还需要培训非技术人员才能做到这一点。对于我的用例而言,手动合并每个冲突将是一个大难题。

master分支上的文件开始为:

my name is dennis
i am a dolphin
i fix teeth

我创建一个名为analysis_1的分支并提交以下更改:

my name is dennis
analysis of line 1
i am a dolphin
analysis of line 2
i fix teeth
analysis of line 3

意识到我先前的错误,我检出master并进行了修复:

my name is dennis
i am a dentist
i fix teeth

是否有一种方法(策略,算法或GIT_EXTERNAL_DIFF工具)可以无冲突地将master合并到analysis_1中,以便像下面这样保持校正和分析?

my name is dennis
analysis of line 1
i am a dentist
analysis of line 2
i fix teeth
analysis of line 3

谢谢!

编辑2:This question指出了wdiff,并让我尝试了diff选项--word-diff,该选项为我提供了所需的差异结果。下一步是将其用于合并。

edit 3:似乎基于单词的合并在SO上存在一些可能会产生成果的问题。如果在其中一个可行的解决方案中找到解决方案,我将更新此问题。

ccnc402 回答:在git中,如何避免将次要更正合并到分支的冲突,在分支中在原始行的每一行之间插入一行新内容?

问题在于,您正在尝试通过添加master已经分支之后的提交来更改过去的提交来编辑analysis_1。马已经离开了谷仓,对此你无能为力。

analysis_1中进行了更改后,然后发现从master移出的一行是错误的,修复该行的位置为{{1} },而不是analysis_1

如果您是在master之后进行此类更改,或者教别人这样做的,那是对git的滥用,您需要停止这样做。

本文链接:https://www.f2er.com/2404598.html

大家都在问