我正在探索使用 github 进行文本版本控制。github 的一个主要问题是更改是按行进行的。因此,如果您对单词或短语进行了相当细化的更改,则整行似乎都已更改。
在 git 本身中,有一个解决方案,因为您可以激活命令--word-diff
上的选项。git diff
您最终会得到如下所示的漂亮差异:
github中是否对此有任何支持?可以添加到 url 的某种查询参数,类似于带有?的空白排除选项?w=1
Github 随着时间的推移改变了他们的网页,以帮助用户探索更多的方法来区分他们的数据。
在您提出问题时,您可以秘密附加 ?w=1 以忽略空格是正确的。
最近他们在 Pull-request 页面中添加了一个控件,您可以在其中切换空格而不使用命令行,请参见截图
但是,(如您所问),Github 可能不太可能添加许多差异设置,这些设置会根据您的问题上下文以不同方式帮助您。
例如git diff --word-diff
,由于排长队,可能会在您的特定情况下为您提供帮助。但这会给您带来任何+-{}
字符的问题,因为它们没有被转义。
然后你可以使用git diff --color-words
,你只得到颜色的差异(并且没有插入特殊字符。
作为第三个选项,您还可以使用git diff --word-diff-regex="."
which 将区分任何单个更改的字符(与上面的标准分词相反。
我有时需要查看 XML 文件差异,有时它们会连接到一行。在那种情况下,我有时会很幸运,normalize
之前和之后的文件。Git 也有这方面的选择。有关涂抹/清洁的示例,请参见git-attributes
因此,不要期望 github 页面上有太多差异控件:您可能需要的控件变化太大,以至于在任何用例中都没有意义。相反,使用命令行