¿Cuáles son las diferencias entre .gitignore y .gitkeep?

Resuelto Matty asked hace 13 años • 7 respuestas

¿Cuáles son las diferencias entre .gitignorey .gitkeep? ¿Son lo mismo con diferente nombre o ambos cumplen una función diferente?

Parece que no puedo encontrar mucha documentación sobre .gitkeep.

Matty avatar Aug 29 '11 19:08 Matty
Aceptado

.gitkeepno está documentado porque no es una característica de Git.

Git no puede agregar un directorio completamente vacío . Las personas que quieren rastrear directorios vacíos en Git han creado la convención de colocar archivos llamados .gitkeepen estos directorios. El archivo podría tener cualquier nombre; Git no asigna ningún significado especial a este nombre.

Existe una convención competitiva de agregar un .gitignorearchivo a los directorios vacíos para realizar un seguimiento, pero algunas personas ven esto como confuso ya que el objetivo es mantener los directorios vacíos, no ignorarlos; .gitignoreTambién se utiliza para enumerar archivos que Git debe ignorar cuando busca archivos sin seguimiento.

Wooble avatar Aug 29 '2011 12:08 Wooble

.gitkeepes solo un marcador de posición. Un archivo ficticio, por lo que Git no se olvidará del directorio, ya que Git solo rastrea archivos.


Si desea un directorio vacío y asegúrese de que permanezca "limpio" para Git, cree un directorio que .gitignorecontenga las siguientes líneas dentro:

# .gitignore sample
# Ignore all files in this dir...
*

# ... except for this one.
!.gitignore

Si desea que solo un tipo de archivos sean visibles para Git, aquí hay un ejemplo de cómo filtrar todo, excepto .gitignoretodos los .txtarchivos:

# .gitignore to keep just .txt files
# Filter everything...
*

# ... except the .gitignore...
!.gitignore

# ... and all text files.
!*.txt
sjas avatar Jul 20 '2012 13:07 sjas
.gitignore

es un archivo de texto que comprende una lista de archivos en su directorio que git ignorará o no agregará/actualizará en el repositorio.

.gitkeep

Dado que Git elimina o no agrega directorios vacíos a un repositorio, .gitkeep es una especie de truco (no creo que se nombre oficialmente como parte de Git) para mantener directorios vacíos en el repositorio.

Simplemente haga una touch /path/to/emptydirectory/.gitkeeppara agregar el archivo y Git ahora podrá mantener este directorio en el repositorio.

Jim Munro avatar Aug 29 '2011 12:08 Jim Munro