¿Cuáles son las diferencias entre .gitignorey .gitkeep? ¿Son lo mismo con un nombre diferente, o ambos cumplen una función diferente?
Parece que no puedo encontrar mucha documentación sobre .gitkeep.
.gitkeep no está documentado, porque no es una característica de Git.
Git no puede agregar un directorio completamente vacío . Las personas que desean rastrear directorios vacíos en Git han creado la convención de poner archivos llamados.gitkeep en estos directorios. El archivo podría llamarse de cualquier forma; 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 rastrearlos, pero algunas personas ven esto como confuso ya que el objetivo es mantener los directorios vacíos, no ignorarlos; .gitignoretambién se usa para enumerar archivos que Git debe ignorar al buscar archivos sin seguimiento.
READMEarchivo en el subdirectorio vacío que contiene un poco de información sobre para qué se va a utilizar ese subdirectorio? Parece confuso tener un archivo llamado.gitkeepque en realidad no es parte de git..gitignorearchivo con dos líneas:*y!.gitignorees más que suficiente claridad para transmitir lo que está sucediendo. Si se necesita más elaboración, agregue un comentario en la parte superior del archivo utilizando la#sintaxis..keeparchivos en lugar de.gitkeeppreservar estas carpetas vacías, ya que git no es el único sistema de control de fuente que no rastrea carpetas vacías. Más detalles aquí: github.com/rails/rails/issues/2800.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 uno que
.gitignorecontenga las siguientes líneas:Si desea tener un solo tipo de archivos visibles para Git, aquí hay un ejemplo de cómo filtrar todo, excepto .gitignore y todos los
.txtarchivos:('#' indica comentarios).
fuente
!delante.gitignore? ¿Es eso para escapar del punto?!niega la siguiente parte, como suele ocurrir en la programación.!.gitignoreun archivo de ignorar git, ya sea agregar el archivo y luego editarlo, o forzarlo a agregarlo con el contenido apropiado ("*" para ignorar todo, o nada para asegurarse de que la carpeta exista) más ejemplos .Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ Si no es así, y no hace un agregado contundente, puede olvidarlo. En casos triviales, no hay problema, pero si es un archivo más grande puede estar molesto. El uso!.gitignoreevita que te dispares en el pie. Lo prefiero, habiéndome quemado en el pasado.es un archivo de texto que comprende una lista de archivos en su directorio que git ignorará o no agregará / actualizará en el repositorio.
Dado que Git elimina o no agrega directorios vacíos a un repositorio, .gitkeep es una especie de truco (no creo que se llame 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.fuente
.gitignores como desee, si no desea especificar la ruta completa a cada carpeta cada vez..gitkeeparchivo, pero no rastreará directorios vacíos, solo la carpeta rastreará donde.gitkeepexista el archivo. porque ?.gitignoreespecificar la ruta completa a cada carpeta cada vez? Creo que me falta algo obvio.