Могут ли атрибуты git .gitattributes обрабатывать все файлы как двоичные, за исключением нескольких исключений?

Мне особенно нужно, чтобы git обрабатывал большинство расширений файлов как двоичные, за исключением нескольких расширения.

Я бы хотел рассматривать все расширения файлов как двоичные, .pdf, .doc, .xls и т. д., за исключением файлов с обычным текстом, таких как .txt .rb .py и т. д.

Я пробовал настроить .gitattributes как показано ниже, чтобы увидеть, как это может работать:

# cat .gitattributes 
* binary
*.txt text

Я думал, что, возможно, порядок в файле конфигурации будет иметь значение, но, похоже, это не так. При указанной выше конфигурации все файлы по-прежнему обрабатываются как двоичные.

Есть ли способ настроить .gitattributes или git каким-либо другим способом, чтобы все файлы обрабатывались как двоичные, за исключением нескольких исключений?

Обновление 1:

Я пробовал использовать атрибуты .gitattributes, описанные ниже. Это работает!

# cat .gitattributes 
*.txt crlf diff
* binary


# git diff
diff --git a/file b/file
index d929b94..bee5cb1 100644
Binary files a/file and b/file differ

diff --git a/file.txt b/file.txt
index 632ae98..93d22b0 100644
--- a/file.txt
+++ b/file.txt
@@ -1 +1,3 @@
 Hey this is a .txt file
+Adding another line
+A new line

Обновление 2:

Я считаю, что crlf и текст одинаковы, т.е. две приведенные ниже конфигурации для .gitattributes одинаковы:

# cat .gitattributes 
*.txt crlf diff
* binary

# cat .gitattributes 
*.txt text diff
* binary
16
задан caleban 24 November 2010 в 20:22
поделиться