Creo que hay situaciones en las que ignorar el .gitignore es muy útil. Por ejemplo, cuando tiene varios equipos o un equipo grande trabajando en la misma base de código. En ese caso, debe tener ciertas convenciones, una de ellas es lo que se ignora en el repositorio de git. Por lo general, se trata de ignorar los archivos y directorios creados por IDE u OS, algunos registros generados, etc.
Sin embargo, existe una fuerza que tiende a introducir cambios no convencionales en el .gitignore
archivo. El .gitignore
archivo puede ser modificado por una persona irresponsable, por error, por una herramienta que se utiliza, o en algún otro caso.
Para tener una fuerza contraria a esto, podemos hacer lo siguiente:
- El .gitignore inicial debe reflejar la convención en equipo (s),
- Después de presionarlo, el .gitignore debe asegurarse agregando la entrada .gitignore y presionando ese cambio nuevamente. El
.gitignore
archivo está " sellado " de esta manera.
El " sellado ".gitignore
archivo se puede cambiar, solo localmente, sin propagar esos modificadores a otros miembros del equipo. Sin embargo, si un cambio está ampliamente acordado en todo el equipo, entonces es posible "abrirlo", cambiarlo y luego "sellarlo" nuevamente. Eso no se puede hacer por error, solo intencionalmente.
Lamentablemente, no puede estar 100% protegido de la estupidez, pero de esta manera ha hecho todo lo posible para evitar que sucedan cosas estúpidas.
Si tienes un equipo relativamente pequeño con muy buenos profesionales, entonces esto no sería importante, pero incluso esos muchachos apreciarían tener una cosa menos de qué preocuparse.
Usar .git/info/exclude
es genial cuando no puedes hacer nada con respecto a la configuración de la infraestructura, solo cubre tu propio ** para no cometer un error.
Desde un punto de vista de lo que está bien y lo que está mal, estoy votando por tener una entrada .gitignore dentro del .gitignore
archivo, dando a todos la libertad de hacer localmente lo que quieran, pero sin invadir a otros.
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD