Acabo de hacer una git init
en la raíz de mi nuevo proyecto.
Entonces creé un .gitignore
archivo.
Ahora, cuando escribogit status
, el archivo .gitignore aparece en la lista de archivos sin seguimiento. ¿Porqué es eso?
git
version-control
dvcs
gitignore
Jacques René Mesrine
fuente
fuente
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD
how to gitignore .gitinore file
y la pregunta y la respuesta aceptada no están realmente relacionadas con el título. El título podría mejorar.Respuestas:
El
.gitignore
archivo debe estar en su repositorio, por lo que debe agregarse y confirmarse, comogit status
sugiere. Tiene que ser parte del árbol del repositorio, para que los cambios puedan fusionarse y así sucesivamente.Entonces, agréguelo a su repositorio, no debe ser ignorado.
Si realmente lo desea, puede agregarlo
.gitignore
al.gitignore
archivo si no desea que se confirme. Sin embargo, en ese caso, probablemente sea mejor agregar los ignorados a.git/info/exclude
un archivo local especial de pago que funciona igual que .gitignore pero no aparece en "estado de git" ya que está en la.git
carpeta.Ver también https://help.github.com/articles/ignoring-files
fuente
Si desea almacenar la lista de archivos ignorados fuera de su árbol Git, puede usar el archivo .git / info / exclude . Se aplica solo a su pago del repositorio.
fuente
~/.gitignore
para que se ignoren en cualquier repositorio en el que trabajo.git update-index --assume-unchanged <file>
para detener el seguimiento de los cambios sin cambiar su repositorio. Esto es muy útil en grandes proyectos compartidos donde necesita realizar cambios locales, pero nadie más quiere ver sus cosas comprometidas con el repositorio. Ver blog.pagebakers.nlEn realidad, podría poner una línea
.gitignore
en su.gitignore
archivo. Esto haría que.gitignore
git ignorara el archivo. Realmente no creo que sea una buena idea. Creo que el archivo de ignorar debe ser controlado y controlado por la versión. Solo pongo esto para completar.fuente
git rm --cached .gitignore
También puede tener un
.gitignore
archivo git de usuario global que se aplicará automáticamente a todos sus repositorios. Esto es útil para IDE y archivos de edición (por ejemplo,swp
y*~
archivos para Vim). Cambie las ubicaciones de directorio para adaptarse a su sistema operativo.Añadir a su
~/.gitconfig
archivo:Cree un
~/.gitignore
archivo con patrones de archivo para ignorar.Guarde sus archivos de puntos en otro repositorio para que tenga una copia de seguridad (opcional).
Cada vez que copie, inicie o clone un repositorio, también se usará su archivo global de gitignore.
fuente
Si alguien ya ha agregado un
.gitignore
a su repositorio, pero desea hacer algunos cambios y hacer que se ignoren, haga lo siguiente:git update-index --assume-unchanged .gitignore
Fuente .
fuente
.git/info/excludes
.--assume-unchanged
. ¿Por qué es uno mejor que el otro?.git/info/excludes
no funciona si el archivo ya está rastreado.Después de agregar el
.gitignore
archivo y confirmarlo, ya no aparecerá en la lista de "archivos no rastreados".fuente
Solo en caso de que alguien más tenga el mismo dolor que nosotros. Queríamos excluir un archivo que ya se había confirmado.
Esta publicación fue mucho más útil: trabajar con .git / info / exclude demasiado tarde
Específicamente, lo que necesita para ignorar un archivo es usar el comando git remove See git rm ( http://www.kernel.org/pub/software/scm/git/docs/git-rm.html )
lo pruebas yendo
git rm --dry-run *.log
(si dice que desea excluir todos los archivos de registro)
esto generará lo que se excluiría si lo ejecutara.
entonces
lo ejecutas yendo
git rm *.log
(o la ruta / expresión de nombre de archivo que desee)
Luego agregue una
*.log
línea a su.gitignore
archivo.fuente
git status
si aparecen en el futuro.Por supuesto, el archivo .gitignore se muestra en el estado, porque no está rastreado, ¡y git lo ve como un nuevo archivo sabroso para comer!
Sin embargo, dado que .gitignore es un archivo sin seguimiento, es un candidato que git ignorará cuando lo coloque en .gitignore.
Entonces, la respuesta es simple: solo agregue la línea:
a su archivo .gitignore!
Y, contrariamente a la respuesta de agosto, debería decir que no es que el archivo .gitignore deba estar en su repositorio. Simplemente sucede que puede ser, lo que a menudo es conveniente. Y probablemente sea cierto que esta es la razón por la cual .gitignore se creó como una alternativa a .git / info / exclude, que no tiene la opción de ser rastreado por el repositorio. En cualquier caso, la forma en que use su archivo .gitignore depende totalmente de usted.
Como referencia, consulte la página de manual de gitignore (5) en kernel.org.
fuente
La idea es colocar archivos que sean específicos de su proyecto en el
.gitignore
archivo y (como ya se mencionó) agregarlo al repositorio. Por ejemplo.pyc
y.o
archivos, registros que crea el testuite, algunos accesorios, etc.Para los archivos que crea su propia configuración, pero que no necesariamente aparecerán para todos los usuarios (como
.swp
archivos si usa vim, directorios ocultos ocultos y similares), debe usar.git/info/exclude
(como ya se mencionó).fuente
En primer lugar, como muchos otros ya dijeron,
.gitignore
Git debería rastrearlo (y, por lo tanto, no debería ignorarse). Déjame explicarte por qué.(TL; DR: confirme el
.gitignore
archivo y use un global.gitignore
para ignorar los archivos creados por su IDE o sistema operativo)Git es, como probablemente ya sepa, un sistema de control de versiones distribuido . Esto significa que le permite alternar entre diferentes versiones (incluso si el desarrollo se ha dividido en diferentes ramas) y también permite que varios desarrolladores trabajen en el mismo proyecto.
Aunque el seguimiento de su
.gitignore
también tiene beneficios cuando cambia entre instantáneas, la razón más importante para confirmarlo es que querrá compartir el archivo con otros desarrolladores que están trabajando en el mismo proyecto. Al comprometer el archivo en Git, otros contribuyentes obtendrán automáticamente el.gitignore
archivo cuando clonen el repositorio, por lo que no tendrán que preocuparse por cometer accidentalmente un archivo que no debería confirmarse (como archivos de registro, directorios de caché, credenciales de bases de datos) , etc.) Y si en algún momento.gitignore
se actualiza el proyecto , simplemente pueden introducir esos cambios en lugar de tener que editar el archivo manualmente.Por supuesto, habrá algunos archivos y carpetas que querrá ignorar, pero que son específicos para usted y no se aplican a otros desarrolladores. Sin embargo, esos no deberían estar en el proyecto
.gitignore
. Hay otros dos lugares donde puede ignorar archivos y carpetas:.gitignore
. El beneficio es que esto.gitignore
se aplica a todos los repositorios en su computadora, por lo que no tiene que repetir esto para cada repositorio. Y no se comparte con otros desarrolladores, ya que podrían estar utilizando un sistema operativo y / o IDE diferente..gitignore
, ni al global.gitignore
, pueden ignorarse utilizando exclusiones de depósito explícitas enyour_project_directory/.git/info/exclude
. Este archivo no se compartirá con otros desarrolladores y es específico para ese repositorio únicofuente
.gitignore
.gitignore
solo funciona para ignorar los archivos que Git aún no está rastreando. Agregar un archivo ya rastreado.gitignore
no le impedirá que realice cambios en ese archivo. Incluso si esto fuera posible, ¿cómo comprometerías el cambio.gitignore
cuando le indica a Git que se ignore a sí mismo?Tenga cuidado con el siguiente "problema" A veces desea agregar directorios pero no archivos dentro de esos directorios. La solución simple es crear un .gitignore con el siguiente contenido:
Esto parece funcionar bien hasta que se da cuenta de que el directorio no se agregó (como se esperaba a su repositorio. La razón de esto es que .gitignore también será ignorado, y por lo tanto el directorio está vacío. Por lo tanto, debe hacer algo como esto :
fuente
Esto parece funcionar solo para que su directorio actual
Git
ignore todos los archivos del repositorio.actualizar este archivo
con su comodín o nombre de archivo
fuente
Si ya ha registrado .gitignore y desea ignorar las modificaciones, consulte esta respuesta :
fuente
En mi caso, quiero excluir un archivo existente. Solo modificar .gitignore no funciona. Seguí estos pasos:
De esta manera, limpié del caché el archivo que quería excluir y después lo agregué a .gitignore .
fuente
Navegue al directorio base de su repositorio de git y ejecute el siguiente comando:
Todos los archivos de puntos serán ignorados, incluido ese molesto .DS_Store si está en una Mac.
fuente
Es muy posible que un usuario final quiera que Git ignore el archivo ".gitignore" simplemente porque las carpetas específicas de IDE creadas por Eclipse probablemente no sean las mismas que NetBeans u otro IDE. Por lo tanto, para mantener el código fuente IDE antagónico, hace que sea más fácil ignorar un git personalizado que no se comparte con todo el equipo, ya que los desarrolladores individuales pueden estar usando IDE diferentes.
fuente
.gitignore
se trata de ignorar otros archivos. git se trata de archivos, por lo que se trata de ignorar archivos. Sin embargo, como git funciona con archivos, este archivo debe estar allí como mecanismo para enumerar los otros nombres de archivo.Si se llamara
.the_list_of_ignored_files
, podría ser un poco más obvio.Una analogía es una lista de tareas pendientes que NO desea hacer. A menos que los enumere en alguna parte, hay algún tipo de lista de tareas pendientes que no sabrá sobre ellos.
fuente
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:
.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.fuente
Encontré que el mejor lugar para configurar ignorar los molestos
.DS_Store
archivos es en el.git/info/exclude
archivo.IntelliJ parece hacer esto automáticamente cuando configura un repositorio git en él.
fuente