Ignorando directorios en repositorios Git en Windows

¿Cómo ignorar directorios o carpetas en Git usando msysgit en Windows?

680
conjunto sf. 5 de diciembre 2008-12-05 15:17 '08 a las 15:17 2008-12-05 15:17
@ 13 respuestas

Cree un archivo llamado .gitignore en el directorio del proyecto. Ignore los directorios ingresando el nombre del directorio en el archivo (con una barra):

 dir_to_ignore/ 

Lea más aquí .

996
05 дек. La respuesta se da estofado 05 dic. 2008-12-05 15:54 '08 a las 3:54 pm 2008-12-05 15:54

De forma predeterminada, el Explorador de Windows mostrará .gitignore , si de hecho el nombre del archivo es .gitignore.txt

Git no utilizará .gitignore.txt

Y no puede cambiar el nombre del archivo a .gitignore , porque el explorador lo considera como un archivo de tipo gitignore sin nombre.

border=0

Solución sin línea de comando:

  Puede cambiar el nombre de un archivo a ".gitignore".  y creará ".gitignore" 
137
22 июля '10 в 14:23 2010-07-22 14:23 la respuesta la da brainwavedave el 22 de julio de 2010 a las 14:23 2010-07-22 14:23

Parece que hay dos formas principales de ignorar los archivos y directorios:

  • .gitignore

    • .gitignore archivo .gitignore en la raíz de su repositorio, excepto el .git (en Windows, asegúrese de ver la verdadera extensión del archivo y luego haga el .gitignore. (Con un punto al final, deje la extensión del archivo vacía))
    • Creando una configuración global ~/.gitignore_global y ejecutando git config --global core.excludesfile ~/.gitignore_global para agregar esto a la configuración de git

    nota: los archivos rastreados anteriormente se pueden rastrear ejecutando git rm --cached filename

  • Repo excluir . Para los archivos locales que no deben compartirse, simplemente agregue la plantilla de archivos o el directorio al archivo .git/info/exclude . Las reglas abstractas no se ejecutan, por lo que otros usuarios ya no lo ven .

[actualizado] Para hacer excepciones en la lista de ignorados, vea esta pregunta .

68
01 мая '12 в 13:30 2012-05-01 13:30 La respuesta se da Vairis 01 de mayo '12 a las 13:30 2012-05-01 13:30

Estoy teniendo problemas para crear un archivo en el Explorador de Windows usando. al principio

La solución fue ir al panel de comandos y crear un nuevo archivo usando "editar"

38
La respuesta está dada por sf. 5 de diciembre 2008-12-05 16:50 '08 a las 4:50 pm 2008-12-05 16:50

Para que GIT ignore ciertos archivos o carpetas, debe crear un archivo .gitignore .

pero en el Explorador de Windows tiene que especificar el nombre del archivo, simplemente no puede crear un archivo con una extensión simple, el truco es crear un archivo de texto vacío e ir a la línea de comandos y cambiar el nombre del archivo a .gitignore

 ren "New Text Document.txt" .gitignore 

Ahora abra el archivo con su editor de texto favorito y agregue los nombres de los archivos / carpetas que desea ignorar. También puedes usar tales comodines *.txt

Espero que responda a tu pregunta.

34
25 марта '10 в 21:14 2010-03-25 21:14 La respuesta se da Mahes 25 de marzo de 2010 a las 21:14 2010-03-25 21:14

También en su directorio de proyecto \.git\info hay un archivo de exclusión, que en realidad es el mismo que .gitignore (creo). Puede agregar archivos y directorios para ignorar en esto.

11
10 февр. La respuesta se da si3 10 feb. 2011-02-10 13:12 '11 a la 1:12 pm 2011-02-10 13:12

En Windows, hay una captura adicional con una barra. Excluir un solo directorio en .gitignore con

dir_to_exclude /

Puede funcionar, pero excluyendo todos los directorios usando

/

causa problemas cuando tiene nombres de archivos con espacios (por ejemplo, my file.txt ) en su directorio: Git bash escapa estos espacios con una barra invertida (por ejemplo, my\ file.txt ) y Git para Windows no distingue entre / y \ .

Para utilizar mejor todos los directorios:

** /

Dos asteriscos consecutivos denotan el contenido de los directorios.

11
13 янв. la respuesta se da wortwart 13 de enero 2014-01-13 16:49 '14 a las 16:49 2014-01-13 16:49

Estoy teniendo problemas para que git cargue un archivo .gitignore en Windows. El archivo $ GIT_DIR / info / exclude siempre funciona. Sin embargo, la desventaja de este enfoque es que los archivos en el directorio $ GIT_DIR no se incluyen en el registro y, por lo tanto, no se utilizan.

(ps $ GIT_DIR suele ser una carpeta oculta llamada .git)

6
15 февр. La respuesta la da Jason el 15 de febrero. 2012-02-15 22:43 '12 a las 10:43 pm 2012-02-15 22:43

Si desea guardar la carpeta y los archivos dentro de ella, simplemente coloque el archivo ".gitignore" con "*" como contenido. Este archivo ignora todo el contenido del repositorio. Pero .gitignore incluirá en tu repositorio.

 $ git add path/to/folder/.gitignore 

Si agrega una carpeta vacía, recibe este mensaje (.gitignore es un archivo oculto)

 The following paths are ignored by one of your .gitignore files: path/to/folder/.gitignore Use -f if you really want to add them. fatal: no files added 

Así que usa -f para forzar la adición:

 $ git add path/to/folder/.gitignore -f 
6
29 июня '12 в 13:29 2012-06-29 13:29 La respuesta está dada por sensorario el 29 de junio de '12 a las 1:29 pm 2012-06-29 13:29

Puedes crear un archivo .gitignore con el contenido:

 * !.gitignore 

Funciona para mí y solo.

5
05 февр. La respuesta la da Claudionor Oliveira el 5 de febrero. 2015-02-05 17:27 '15 a las 17:27 2015-02-05 17:27

Supongo que el problema es que su árbol de trabajo se ve así:

 a-cache/foo a-cache/index.html b-cache/bar b-cache/foo b-cache/index.html .gitignore 

... con .gitignore , que usted describe. Esto te dará una salida de git status , por ejemplo:

 $ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # .gitignore # a-cache/ # b-cache/ 

... si los archivos index.html aún no se han agregado al repositorio. (git ve que hay archivos no registrados en los directorios del caché, pero solo informa sobre los directorios). Para solucionar esto, asegúrese de haber agregado y arreglado los archivos index.html :

 git add *cache/index.html git commit -m "Adding index.html files to the cache directories" 

... y tu git status se verá así:

 $ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # .gitignore nothing added to commit but untracked files present (use "git add" to track) 

(Obviamente, también quieres arreglar .gitignore , en este caso yo solo era perezoso).

4
29 июня '12 в 13:11 2012-06-29 13:11 Mark Longair dio la respuesta el 29 de junio de 2012 al 1:11 2012-06-29 13:11

Para ignorar todo el directorio en git, la forma más sencilla es incluir en el directorio de destino un .gitignore que simplemente contenga "*"

Ejemplo ilustrativo

Ejemplo de sistema

 /root/ .gitignore /dirA/ someFile1.txt someFile2.txt /dirB/ .gitignore someFile3.txt someFile4.txt 

Propósito de

  • ignorar contenido / dirB /

Nivel superior .gitignore (/root/.gitignore)

  • Aquí está su información gitignore estándar.

Directorio .gitignore ignorado (/root/dirB.gitignore)

  • Este archivo simplemente se lee como "*", y el directorio se ignora por completo, ¡todos los archivos en sí!

y es facil :)

3
16 июня '16 в 0:51 2016-06-16 00:51 La respuesta es dada por J-Dizzle el 16 de junio de 2016 a las 0:51 2016-06-16 00:51

Tuve problemas similares, trabajo en una cadena de herramientas de Windows con un repo común con chicos de Linux, ellos crean rápidamente archivos con el mismo nombre [excepto en el caso] en esta carpeta.

El efecto es que puedo clonar el repositorio e inmediatamente tengo docenas de archivos "modificados" que, si lo selecciono, crearán un caos.

Tengo ventanas y git sensibles a mayúsculas, para no ignorar el caso, pero todavía no funciona (aparentemente, en llamadas a win32 api).

Si tengo archivos gitignore, tengo que recordar no seguir el archivo .gitignore.

Pero encontré una buena respuesta aquí http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

Chris

1
06 авг. respuesta dada por Chris Aaaaa 06 ago. 2012-08-06 18:01 '12 a las 6:01 pm 2012-08-06 18:01

Otras preguntas sobre etiquetas o hacer una pregunta