Git仅忽略markdown文件中的尾随空格

时间:2016-09-28 16:23:10

标签: git markdown whitespace trailing

我有一个markdown文件,其中的行有尾随空格(这是正确的,应该提交)。我无法使用git add -p向索引添加这些更改,因为git会抱怨尾随空格。如果我使用git add -A,则会正确添加它们,但我希望它与git add -p一起使用。

我在~/.gitconfig

[core]
  whitespace = trailing-space,space-before-tab

这一直很好用,因为在大多数情况下我想要跟踪尾随空格(在HTML,JS和Ruby文件中它是不正确的)。

如何仅忽略Markdown文件中的尾随空格?

2 个答案:

答案 0 :(得分:2)

.gitattributes文件中添加以下内容:

**/*.md  -whitespace

https://git-scm.com/docs/gitattributes#_checking_whitespace_errors

更具体地说,您可以改为执行以下操作:

**/*.md  whitespace=space-before-tab

(删除markdown文件的trailing-space。)

以与.gitattributes相同的方式对待.gitignore并将其检入回购广告。

答案 1 :(得分:0)

.gitattributes中使用此功能:
**/*.md text whitespace=-cr-at-eol,-trailing-space

**/*.md whitespace=space-before-tab不起作用:

C:\Users\kevin\Documents\trailing>git config --show-origin --get core.whitespace
file:C:/Users/kevin/.gitconfig  trailing-space,space-before-tab,cr-at-eol

C:\Users\kevin\Documents\trailing>git init .
Initialized empty Git repository in C:/Users/kevin/Documents/trailing/.git/

C:\Users\kevin\Documents\trailing>cat > README.md
Trailing space here:
check it

C:\Users\kevin\Documents\trailing>git add README.md

C:\Users\kevin\Documents\trailing>git diff-index --check --cached 4b825dc642cb6eb9a060e54bf8d69288fbee4904
README.md:1: trailing whitespace.
+Trailing space here:

C:\Users\kevin\Documents\trailing>echo **/*.md  -whitespace > .gitattributes

C:\Users\kevin\Documents\trailing>git check-attr --all -- README.md
README.md: whitespace: unset

C:\Users\kevin\Documents\trailing>git diff-index --check --cached 4b825dc642cb6eb9a060e54bf8d69288fbee4904

C:\Users\kevin\Documents\trailing>echo **/*.md  whitespace=space-before-tab > .gitattributes

C:\Users\kevin\Documents\trailing>git check-attr --all -- README.md
README.md: whitespace: space-before-tab

C:\Users\kevin\Documents\trailing>git diff-index --check --cached 4b825dc642cb6eb9a060e54bf8d69288fbee4904
README.md:1: trailing whitespace.
+Trailing space here:

C:\Users\kevin\Documents\trailing>echo **/*.md text whitespace=-cr-at-eol,-trailing-space > .gitattributes

C:\Users\kevin\Documents\trailing>git diff-index --check --cached 4b825dc642cb6eb9a060e54bf8d69288fbee4904