如何让git忽略文件中的注释?

时间:2015-08-19 10:19:41

标签: git

我在尝试提交时遇到问题,有时评论稍有改变(例如// Text//Text比较的空格数不同//。这很烦人,我想知道是否有办法让git忽略注释行。由于git可能不知道文件类型,语言等,我想我可以限制自己忽略包含<%= text_field_tag 'grid[name][]' %> 的行中的更改。我的猜测是我可以为diff添加某种规则来忽略它,但是还有另一个问题。我如何让git理解这些行应该在比较中被忽略并且仍然包含在repo中?

修改 据我所知,这是在svn中完成的。他们有一些聪明的实现。我的问题是git是否有类似内容。

3 个答案:

答案 0 :(得分:1)

我认为这是不可取的。考虑两个人正在同时处理评论。 Git应该引发冲突。如果你忽略了评论,你希望git在这种情况下做什么?此外,不同的编程语言具有不同的注释语法。 git识别评论会有点麻烦。

你绝对可以忽略git的空格-w参数。 例如: -

git diff -w .

答案 1 :(得分:1)

不是特定于评论,但Git可以选择在合并期间忽略空间更改。参见例如Merging without whitespace conflictshttp://git-scm.com/docs/git-merge

答案 2 :(得分:0)

我不知道你是否可以让git忽略评论中的变化,这会破坏VCS的目的。

但是你可以使用一个智能比较程序,它知道几种编程语言的词法规则(或者可以教它们),并且可以忽略注释中的变化或将它们显示为不重要。

BeyondCompare就是这样一个程序。