¿A dónde pertenece el archivo .gitignore?

357

¿El archivo .gitignore pertenece a la estructura de carpetas .git en algún lugar o en los archivos fuente principales?

mal
fuente
20
Puede tener un .gitignore en cada directorio de su proyecto. Sin embargo, la mejor práctica es tener un único archivo .gitignore en el directorio raíz del proyecto y colocar todos los archivos que desea ignorar en él.
Pavan Gupta
Te pedí que aceptaras la respuesta incorrecta.
Aaron Hall
@AaronHall - cambiado ... no había vuelto a visitar esto en un tiempo .....
mishaF

Respuestas:

428

Ponga .gitignore en el directorio de trabajo . No funciona si lo coloca en el directorio .git (repositorio).

$ ls -1d .git*
.git
.gitignore
jmulho
fuente
20
Esta es la respuesta real. Bien por entender la pregunta :)
Mario SE
15
Es una respuesta ambigua de la OMI. ¿Dónde en el directorio de trabajo? ¿En la raíz de esto? ¿En cualquier sitio?
Carles Alcolea
66
@CarlesAlcolea, la respuesta dice que puede colocar el .gitignorearchivo en cualquier lugar del directorio de trabajo, es decir, en cualquier carpeta donde prevalezca su código. Dicho esto, la mejor práctica sería colocar el .gitignorearchivo en el directorio raíz. Esto significa un .gitignorearchivo para un repositorio completo. Esto hace que la administración de los archivos ignorados sea más efectiva.
Andy
10
Necesito alguna explicación más. ¿Qué sucede si .gitignore se coloca en un subdirectorio? ¿Solo regula el subdirectorio y sus ramas? ¿Es posible tener múltiples .gitignore en diferentes subdirectorios? ¿Tener .gitignores con diferentes reglas en subdirectorios en cascada sobre .gitignores del directorio parrent?
Behrooz Karjoo
72

Como se indica en las otras respuestas, puede colocarlo .gitignoredentro de cualquier directorio en un repositorio Git. Sin embargo, si necesita tener una versión privada de .gitignore, puede agregar las reglas al .git/info/excludearchivo.

Alan Haggai Alavi
fuente
44
Además, core.excludesfile(consulte git-config (1) ) para especificar un archivo que contenga sus patrones de exclusión personales (su patrón de nomenclatura "archivo temporal" favorito, los archivos temporales / de respaldo de su editor, etc.). En consecuencia, evite poner "patrones personales" en los .gitignorearchivos rastreados .
Chris Johnsen
2
La parte privada de esta respuesta fue muy útil, ya que tengo algunas modificaciones al proyecto que no pertenecen al .gitignorearchivo registrado .
OregonGhost
57

Puede colocar .gitignore en cualquier directorio en git.

Se usa comúnmente como un archivo de marcador de posición en carpetas, ya que las carpetas generalmente no son rastreadas por git.

philipk
fuente
77
¿por qué puedes ponerlo en cualquier lugar? ¿Cómo es que git no se confunde?
Charlie Parker
3
Entonces, el archivo .gitignore puede ir en el directorio .git en sí, ¿verdad? (Cuál fue la pregunta original). ¿Cuál sería el propósito?
bacar
8

Si desea hacerlo globalmente, puede usar la ruta predeterminada que buscará git. Simplemente colóquelo dentro de un archivo llamado "ignorar" en la ruta~/.config/git

(por lo que la ruta completa para el archivo es: ~/.config/git/ignore)

Liran Brimer
fuente
3

También puede encontrar un .gitignore global directamente en la ruta ~ si no lo ha creado en su proyecto de carpeta. Este archivo se tiene en cuenta en todos sus proyectos .git.

XLE_22
fuente
0

Además, si crea una nueva cuenta en Github, tendrá la opción de agregar .gitignore y se configurará automáticamente en la ubicación correcta / estándar de su lugar de trabajo. No tiene que agregar nada allí al principio, solo modifique el contenido cuando lo desee.

Thielicious
fuente