¿Cuáles son las diferencias entre.gitignore y.gitkeep?
¿cuáles son las diferencias entre .gitignore
y .gitkeep
? ¿Son la misma cosa con un nombre diferente, o ambos cumplen una función diferente? No parece que pueda encontrar mucha documentación sobre .gitkeep
.
3 answers
.gitkeep
no 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 poner archivos llamados .gitkeep
en estos directorios. El archivo podría llamarse cualquier cosa; Git no asigna ningún significado especial a este nombre.
Existe una convención competitiva de agregar un archivo .gitignore
a los directorios vacíos para rastrearlos, pero algunas personas ven esto como confuso dado que el objetivo es mantener los directorios vacíos, no ignorarlos; .gitignore
también se usa para listar archivos que Git debería ignorar al buscar archivos sin seguimiento.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-14 14:44:08
.gitkeep
es 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 quieres un directorio vacío y te aseguras de que permanece 'limpio' para git, crea un .gitignore
que contenga las siguientes líneas dentro de:
# .gitignore sample
###################
# ignore all files in this dir...
*
# ... except for this one.
!.gitignore
Si deseas tener solo un tipo de archivos visibles para git, aquí hay un ejemplo de cómo filtrar todo, excepto .gitignore y todos los archivos .txt
:
# .gitignore to keep just .txt files
###################################
# filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#'indica comentarios.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-30 20:34:48
.gitignore
Es un archivo de texto que contiene 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 hackeo (no creo que sea oficialmente nombrado como parte de git) para mantener directorios vacíos en el repositorio.
Simplemente haga un touch /path/to/emptydirectory/.gitkeep
para agregar el archivo y git ahora podrá mantener este directorio en el repositorio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-12 19:36:01