0

有人问为什么看似可能的使用 git 的合并与我的代码相似,但是(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 工具)可以在没有冲突的情况下合并masteranalysis_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:这个问题指出了 wdiff 并引导我尝试提供我想要的差异结果的diff选项。--word-diff下一步是让它用于合并。

编辑 3:似乎基于单词的合并对 SO 有一些可能会产生结果的问题。如果我在其中一个适用的解决方案中找到解决方案,我会更新这个问题。

4

1 回答 1

0

问题是您试图master通过添加一个提交来进行编辑,该提交的工作是在analysis_1已经分支之后改变过去。这匹马已经离开了谷仓,你对此无能为力。

当您进行了更改,analysis_1然后发现带过来的一条线master是错误的,修复该线的地方是analysis_1,不是master

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

于 2020-04-20T13:58:19.190 回答