usar una toda para ignorar funciona example ejemplo crear como comando carpetas carpeta archivo windows git gitignore git-bash msysgit

windows - una - ignorar carpetas en git



Ignorando directorios en repositorios Git en Windows (17)

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


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

dir_to_ignore/

Más información here .


Cuando todo lo demás falla intente editar el archivo

/.git/info/exclude

y agregando los directorios que desea al final del archivo, como este:

# 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/

Agregué las carpetas "elementos" y "compilé" a la lista de archivos y directorios para ignorar.


En Unix:

touch .gitignore

En Windows:

echo > .gitignore

Estos comandos ejecutados en un 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 :)

Más información: https://www.atlassian.com/git/tutorials/saving-changes/gitignore


En Windows hay una captura extra con barras diagonales. Excluyendo un solo directorio en .gitignore con

dir_to_exclude /

Posiblemente funcione, pero excluyendo todos los directorios con

/

causa problemas cuando tiene nombres de archivos con espacios (como my file.txt ) en su 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 los directorios mejor uso:

** /

Dos asteriscos consecutivos significan los contenidos del directorio.


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

echo data.txt >> .gitignore

si es una ruta como "Data / passwords.txt"

echo "Datos / contraseñas.txt" >> .gitignore.


En caso de que necesite excluir subcarpetas, puede usar el comodín ** para excluir cualquier nivel de subdirectorio.

**/build/output/Debug/


He tenido algunos problemas para que git extraiga el archivo .gitignore en Windows. Sin embargo, el archivo $ GIT_DIR / info / exclude siempre parece funcionar. La desventaja de este enfoque, sin embargo, es que los archivos en el directorio $ GIT_DIR no se incluyen en el registro, y por lo tanto no se comparten.

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


Para ignorar un directorio completo en git, la forma más sencilla 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

Gol

  • ignorar los contenidos de / dirB /

Nivel superior .gitignore (/root/.gitignore)

  • Aquí es donde va su información estándar de gitignore

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

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

y es así de simple :)


Para indicar a GIT que ignore ciertos archivos o carpetas, debe crear el archivo .gitignore .

pero en el explorador de Windows, debe proporcionar un nombre para el archivo, simplemente no puede crear un archivo con solo una 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 te responda tu pregunta


Parece que para ignorar archivos y directorios hay dos formas principales:

  1. .gitignore

    • Colocar el archivo .gitignore en la raíz de su repositorio junto a la carpeta .git (en Windows, asegúrese de ver la verdadera extensión del archivo y luego haga .gitignore. (con el punto al final para hacer la extensión del archivo vacía))
    • ~/.gitignore_global configuración global ~/.gitignore_global y ejecute git config --global core.excludesfile ~/.gitignore_global para agregar esto a su configuración de git

    nota: los archivos rastreados antes se pueden desmarcar ejecutando git rm --cached filename

  2. Exclusión de repo : para los archivos locales que no es necesario compartir, simplemente agregue el patrón de archivo o el directorio al archivo .git/info/exclude . Estas reglas no están comprometidas, por lo que otros usuarios no las ven más información here

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


Por defecto, el explorador de Windows mostrará .gitignore cuando, de hecho, el nombre del archivo sea .gitignore.txt

Git no utilizará .gitignore.txt

Y no puede cambiar el nombre del archivo a .gitignore porque explorer cree que es un archivo de tipo gitignore sin nombre.

Solución de línea de comando no:

You can rename a file to ".gitignore." and it will create ".gitignore"


Puedes crear el archivo ".gitignore" con el contenido:

* !.gitignore

Funciona para mí y los simples.


Si desea mantener una carpeta y no los archivos que contiene, simplemente coloque un archivo ".gitignore" 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, usa "-f" para forzar agregar:

$ git add path/to/folder/.gitignore -f


Supongo que el problema es que su á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 usted describe. Esto te dará una salida de git status 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 agregado al repositorio. (git ve que hay archivos sin identificar en los directorios del caché, pero solo informa los directorios). Para solucionar 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 tu git status se verá 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, usted también quiere cometer .gitignore , yo solo estaba siendo perezoso con este caso de prueba).


También en su /.git/info projects hay un archivo de exclusión que es efectivamente lo mismo que .gitignore (creo). Puede agregar archivos y directorios para ignorar en eso.


Tuve algunos problemas para crear un archivo en el explorador de Windows con un archivo. al principio.

una solución fue ir a la consola de comandos y crear un nuevo archivo usando "editar"


Tuve problemas similares, trabajo en una cadena de herramientas de Windows con un repositorio compartido con los chicos de Linux, ellos crean fácilmente archivos con los mismos nombres [excepto para el caso] en una carpeta determinada.

El efecto es que puedo clonar el repositorio e inmediatamente tengo docenas de archivos ''modificados'' que, si me registrara, crearían un caos.

Tengo las ventanas configuradas para que distingan entre mayúsculas y minúsculas y git para no ignorar las mayúsculas, pero sigue fallando (aparentemente en las llamadas de la API de Win32)

Si gitignore los archivos, debo 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