Tengo una necesidad particular de que git trate la mayoría de las extensiones de archivo como binarias, excepto algunas extensiones.¿Pueden los .gitattributes de can git tratar a todos los archivos como binarios, excepto algunas excepciones?
me gustaría tratar a todas las extensiones de archivo como binario, .pdf .doc .xls, etc., excepto los archivos de texto sin formato, como .txt .RB .py etc.
.gitattributes configuraciónque he probado como a continuación para ver cómo esto podría funcionar:
# cat .gitattributes
* binary
*.txt text
pensé que tal vez el orden en el fichero de configuración importaría pero no parece. Con la configuración anterior, todos los archivos se tratan como binarios.
¿Hay alguna forma de configurar .gitattributes o git de otra forma para tratar todos los archivos de una manera, como binarios, excepto por unas pocas excepciones?
Actualización 1:
Probé la .gitattributes se describen a continuación. ¡Funciona!
# 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
Actualización 2:
Creo CRLF y el texto son los mismos, es decir por debajo de las dos configuraciones de .gitattributes son los mismos:
# cat .gitattributes
*.txt crlf diff
* binary
# cat .gitattributes
*.txt text diff
* binary
"Una vez que un atributo está establecido o no, si no puede ser modificado por una regla posterior". Información muy útil! Gracias. – caleban
@caleban: sí, la sección "EJEMPLO" de la página del manual 'gitattribute' (http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html#_example) da una buena ilustración de esa regla – VonC
Esa sección me era tan extraña, abstracta como sea, cuando la estaba mirando inicialmente no la entendía. Ahora lo entiendo. – caleban