Ignorar directorios en repositorios Git en Windows
¿Cómo puedo ignorar directorios o carpetas en Git usando msysgit en Windows?
17 answers
Crea un archivo llamado .gitignore
en el directorio de tu proyecto. Ignore los directorios introduciendo el nombre del directorio en el archivo (con una barra inclinada anexa):
dir_to_ignore/
Más información aquí .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-30 18:11:30
Por defecto el explorador de Windows mostrará .gitignore
cuando de hecho el nombre del archivo es .gitignore.txt
Git no usará .gitignore.txt
Y no puede cambiar el nombre del archivo a .gitignore
porque explorer piensa que es un archivo de tipo gitignore sin nombre.
Solución sin línea de comandos:
You can rename a file to ".gitignore." and it will create ".gitignore"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-08 17:25:07
Parece que para ignorar archivos y directorios hay dos formas principales:
-
.gitignore
- Colocando el archivo
.gitignore
en la raíz de su repositorio además de la carpeta.git
(en Windows asegúrese de que vea la verdadera extensión de archivo y luego haga.gitignore.
(con el punto al final para hacer una extensión de archivo vacía) ) - Haciendo la configuración global
~/.gitignore_global
y ejecutandogit config --global core.excludesfile ~/.gitignore_global
para agregar esto a tu configuración de git
Nota: archivos rastreados antes puede ser untracked ejecutando
git rm --cached filename
- Colocando el archivo
Repo exclude - Para los archivos locales que no necesitan ser compartidos, simplemente agregue el patrón de archivo o el directorio al archivo
.git/info/exclude
. Estas reglas no están comprometidas, por lo que no son vistas por otros usuarios más información aquí
[actualizado] Para hacer excepciones en la lista de archivos ignorados, vea esta pregunta.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-08 22:15:54
Tuve algunos problemas para crear un archivo en el explorador de Windows con una. al principio.
Una solución alternativa era entrar en el commandshell y crear un nuevo archivo usando "edit"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-10 04:36:02
Para indicar a GIT que ignore ciertos archivos o carpetas, debe crear .gitignore
archivo.
Pero en el explorador de Windows debe proporcionar un nombre para el archivo, simplemente no puede crear un archivo con solo extensión, el truco es crear un archivo de texto vacío e ir al símbolo del sistema 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 archivo/carpeta que desea ignorar. también puedes usar comodines como este *.txt
Espero que responda a su pregunta
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-25 18:14:52
Si desea mantener una carpeta y no los archivos dentro de ella, simplemente ponga un ".gitignore" archivo en la carpeta con "*" como contenido. Este archivo ignorará todo el contenido del repositorio. Pero .gitignore
se incluirá en su repositorio.
$ git add path/to/folder/.gitignore
Si agrega una carpeta vacía, recibirá 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
Entonces, use "- f " para forzar agregar:
$ git add path/to/folder/.gitignore -f
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-11 17:36:11
En Windows hay una captura extra con barras. Excluyendo un solo directorio en .gitignore con
Dir_to_exclude /
Posiblemente funcionará, pero excluyendo todos los directorios con
/
Causa problemas cuando tienes nombres de archivo con espacios (como my file.txt
) en tu directorio: Git bash escapa estos espacios con una barra invertida (como my\ file.txt
) y Git para Windows no distingue entre /
y \
.
Para excluir todos directorios mejor uso:
**/
Dos asteriscos consecutivos significan el contenido del directorio.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-13 13:49:49
También en su directorio de proyectos \.git\info
hay un archivo exclude que es efectivamente lo mismo que .gitignore
(creo). Puede agregar archivos y directorios para ignorar en eso.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-08 17:24:37
He tenido algunos problemas para conseguir git para recoger el.archivo gitignore en Windows. Sin embargo, el archivo G GIT_DIR/info/exclude siempre parece funcionar. La desventaja de este enfoque, sin embargo, es que los archivos en el directorio G GIT_DIR no se incluyen en el check-in, y por lo tanto no se comparten.
(p. s. G GIT_DIR suele ser la carpeta oculta nombrada.git)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-15 19:43:43
Puede crear el ".gitignore " archivo con el contenido:
*
!.gitignore
Funciona para mí y simples.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-05 14:27:04
Para ignorar un directorio completo en git, la forma más fácil es incluir un .archivo gitignore dentro del directorio de destino que simplemente contiene " * "
Un ejemplo ilustrativo,
Sistema de ejemplo
/root/
.gitignore
/dirA/
someFile1.txt
someFile2.txt
/dirB/
.gitignore
someFile3.txt
someFile4.txt
Objetivo
- ignora el contenido de/dirB /
Nivel Superior .gitignore (/root/.gitignore)
- Aquí es donde va tu información estándar de gitignore
Directorio Ignorado .gitignore (/root / dirB.gitignore)
- Este archivo solo se lee como '*' y el directorio se ignora completamente, en sí mismo y todos los archivos!
Y es así de simple:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-25 20:45:28
Asumo que el problema es que tu árbol de trabajo es como:
a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore
... con el .gitignore
que usted describe. Esto le dará git status
salida como:
$ 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 añadido al repositorio. (git ve que hay archivos sin identificar en los directorios de caché, pero solo informa de los directorios. Para arreglar esto, asegúrese de haber agregado y confirmado los archivos index.html
:
git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"
... y su git status
entonces mirará como:
$ 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 quieres confirmar .gitignore
también, estaba siendo perezoso con este caso de prueba.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-29 10:19:01
En caso de que necesite excluir subcarpetas, puede usar el comodín **
para excluir cualquier nivel de subcarpeta.
**/build/output/Debug/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-17 00:40:58
Cuando todo lo demás falla intente editar el archivo
/.git/info / exclude
Y agregando los directorios que desea al final del archivo, así:
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/
He añadido las carpetas "assets" y "compiled" a la lista de archivos y directorios a ignorar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-04 21:38:12
En Unix:
touch .gitignore
En Windows:
echo > .gitignore
Estos comandos ejecutados en una terminal crearán un archivo .gitignore
en la ubicación actual.
Luego simplemente agregue información a este archivo .gitignore
(usando Notepad++ por ejemplo) qué archivos o carpetas deben ignorarse. Guarda tus cambios. Eso es todo:)
Más información: https://www.atlassian.com/git/tutorials/saving-changes/gitignore
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-25 08:25:53
En Windows y Mac, si desea ignorar una carpeta llamada Flower_Data_Folder en el directorio actual, puede hacer:
Echo Flower_Data_Folder >> .gitignore
Si es un archivo llamado data.txt
Datos de eco.txt >> .gitignore
Si es una ruta como "Data/passwords.txt "
Echo "Datos/contraseñas.txt">> .gitignore.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-14 11:17:42
Tuve problemas similares, trabajo en una cadena de herramientas de Windows con un repositorio compartido con los chicos de Linux, crean archivos con los mismos nombres [excepto los casos] en una carpeta dada.
El efecto es que puedo clonar el repositorio e inmediatamente tener docenas de archivos 'modificados' que si me registraba crearían estragos.
Tengo Windows configurado para distinguir entre mayúsculas y minúsculas y git para no ignorar mayúsculas y minúsculas, pero todavía falla (en las llamadas a la api de win32 aparentemente).
Si gitignore los archivos entonces tengo para recordar no rastrear 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-06 15:01:49