¿Crees que es una buena práctica comprometer .gitignore en un repositorio de Git?
A algunas personas no les gusta, pero creo que es bueno, ya que puedes rastrear el historial del archivo. ¿No es así?
¿Crees que es una buena práctica comprometer .gitignore en un repositorio de Git?
A algunas personas no les gusta, pero creo que es bueno, ya que puedes rastrear el historial del archivo. ¿No es así?
Respuestas:
Normalmente sí, .gitignore
es útil para todos los que quieran trabajar con el repositorio. En ocasiones querrás ignorar más cosas privadas (quizás a menudo creas LOG
o algo así. En esos casos, probablemente no quieras forzar eso a nadie más.
$GIT_DIR/info/exclude
o ~/.gitconfig
según corresponda.
git rm --cached FILENAME
Normalmente te comprometes .gitignore
. De hecho, personalmente voy tan lejos como para asegurarme de que mi índice esté siempre limpio cuando no estoy trabajando en algo. (no git status
debe mostrar nada)
Hay casos en los que desea ignorar cosas que realmente no son específicas del proyecto. Por ejemplo, su editor de texto puede crear *~
archivos de copia de seguridad automáticos , u otro ejemplo sería los .DS_Store
archivos creados por OS X.
Yo diría que si otros se quejan de esas reglas que abarrotan las suyas .gitignore
, déjelos fuera y póngalos en un archivo de exclusión global.
Por defecto, este archivo reside en $XDG_CONFIG_HOME/git/ignore
(predeterminado ~/.config/git/ignore
), pero esta ubicación se puede cambiar configurando la core.excludesfile
opción. Por ejemplo:
git config --global core.excludesfile ~/.gitignore
Simplemente cree y edite el archivo de exclusión global al contenido de su corazón; se aplicará a cada repositorio git en el que trabaje en esa máquina.
# some comment
líneas al .gitignore
archivo para explicar por qué ignora algo. Al comentar cada línea es un poco excesivo, pero tengo secciones han marcado # IDE (Eclipse)
, # OS (Mac OS X)
y # Generated (Perl)
. De esa manera, si alguien quiere usar un sistema operativo o IDE diferente, puede agregar una sección y todos podemos compartirla.
core.excludesfile
es ~/.config/git/ignore
, conforme a la especificación del directorio base XDG
.gitignore
: enormemente beneficioso cuando las personas con las que trabajas no están de acuerdo con el contenido de los .gitignore
archivos enviados o si deberían enviarse, y todos usamos toneladas de diferentes entornos de desarrollo que generan diferentes tipos de ruido.
Puse commit .gitignore, que es una cortesía para otros que pueden construir mi proyecto de que los siguientes archivos se derivan y deben ignorarse.
Usualmente hago un híbrido. Me gusta hacer que el archivo MAKE genere el archivo .gitignore ya que el archivo MAKE conocerá todos los archivos asociados con el proyecto derivado o no. Luego, tenga un proyecto de nivel superior .gitignore en el que se registre, que ignoraría los archivos .gitignore generados creados por el archivo MAKE para los distintos subdirectorios.
Entonces, en mi proyecto, podría tener un subdirectorio bin con todos los ejecutables creados. Luego, haré que mi archivo MAKE genere un .gitignore para ese directorio bin. Y en el directorio superior .gitignore que enumera bin / .gitignore. El de arriba es el que reviso.
Confirmar .gitignore puede ser muy útil, pero debes asegurarte de no modificarlo demasiado a partir de entonces, especialmente si cambias regularmente de una rama a otra. Si lo hace, puede obtener casos en los que los archivos se ignoran en una rama y no en la otra, lo que le obliga a eliminar manualmente o cambiar el nombre de los archivos en su directorio de trabajo porque un pago falló, ya que sobrescribiría un archivo no rastreado.
Por lo tanto, sí, cometa su .gitignore, pero no antes de estar razonablemente seguro de que no cambiará mucho a partir de entonces.
Es una buena práctica al .gitignore
menos crear sus productos (programas, * .o, etc.).
.gitignore
propio ser " .gitignore
'd"?