2012-04-25 17 views
11

Cuando hago un 'estado de git' en mi directorio, muestra un montón de archivos sin seguimiento que parecen ser duplicados. La única diferencia es que todos tienen un prefijo de ._. Por ejemplo: uno de mis archivos sin seguimiento que debe agregarse sería ... app/assets/stylesheets/categories.css y otro archivo se mostraría como app/assets/stylesheets/._categories.css.¿Qué son todos estos archivos ocultos ('._' prefijados) que están en mi repositorio git?

¿Alguien sabe de qué se trata todo esto? Parece que no hay buena documentación en GitHub.

Respuesta

11

Como mentioned here:

si por archivo foo tiene otra ._foo, y estás en un Mac, el archivo de punto-guión es donde el archivo tenedor/metadata de recursos se mantiene.

(describen con más detalles en "DS_Store, dot underscore (._), resource forks and annoyed Windows users")

El .DS_Store es similar al archivo thumbs.db Windows XP hace y se utiliza para almacenar “los atributos personalizados de una carpeta como la posición de los iconos o la elección de una imagen de fondo. "

Los dot-underscore (._) files son molestos pequeños insectores. Parece que cuando utiliza el Finder para transferir archivos a un sistema que no es de Mac -un servidor de Windows en este caso- divide el archivo en dos partes, los datos y el recurso se bifurcan. Cuando copias el archivo a la Mac, el Finder fusiona los dos bits nuevamente. Windows no puede usar la bifurcación de recursos, por lo que no es necesaria y puede eliminarla, pero es muy complicado tener que limpiarla después de otras.

Véase también "Is there any way to prevent a Mac from creating dot underscore files?"

+0

Muy bien. Gracias. Solo estaba buscando una forma de no juntar mi depósito. – Jakcst

3

No tienen nada que ver con gitper se; que son archivos de metadatos creados por el OS X.

4

Si actualiza su mundial .gitignore (en C:/Users/user/.gitignore o donde el directorio de inicio del usuario no), puede agregar esta línea:

._* 

Se evitará que éstos aparecer cuando haces un git status, y no se agregarán a través del git add -A.

Esto es lo que agrego al mío para evitar que varios sistemas operativos inserten basura en nuestros repositorios.

# OS generated files # 
###################### 
.DS_Store? 
ehthumbs.db 
._* 
# Icon? 
Thumbs.db 
+0

Gracias por este código –

0

Mac proporciona un comando de línea de comandos que puede estar disponible con las utilidades de línea de comandos descargables gratis de la tienda de aplicaciones. Esto limpia ._ archivos. El comando es $ dot_clean

Cuestiones relacionadas