git agrega todo excepto ignorar los archivos en el archivo .gitignore

120

Estoy agregando control de código fuente a un proyecto que no tenía ninguno. El problema es que hay muchos archivos para agregar inicialmente a git con un archivo .gitignore , pero no puedo averiguar cómo agregar todos los archivos sin incluir los archivos que coinciden con algo en el archivo .gitignore .

git add *

El comando anterior no agregará ningún archivo porque detecta archivos que son ignorados por .gitignore .

git add -f *

El comando anterior agregará todos los archivos, incluidos los archivos que deseo ignorar.

Entonces, ¿cómo agrego todos los archivos sin dejar de adherirme al archivo .gitignore ?

E-rico
fuente

Respuestas:

251

Creo que te refieres a git add .qué agregará todos los archivos al repositorio que NO ESTÁN especificados en el .gitignore; puedes ver estos cambios escribiendogit status

El .in bash generalmente significa este directorio y todos los demás directorios de forma recursiva, por lo que si hace esto desde el nivel inferior de su repositorio, debe agregar todos los archivos.

Mi flujo de git habitual es crear el .gitignorearchivo y agregar los archivos del proyecto al repositorio. Probaré el .gitignorearchivo escribiendo git statusdespués de importar los archivos; si veo los archivos que he agregado (por ejemplo, solo .php o .html, NO .mp3 o .mov), entonces puede git add .agregar todos y git commit -m "initial commit"a cometerlos y debería estar listo.

Nic
fuente
3
¿Qué pasa si hago git add --all .cuál es la diferencia git add .en este contexto?
Catedral Pillon
2
es lo mismo que git add.
user454232
27
git add .

Esto agregará todas las rutas e ignorará las coincidencias de .gitignore

Leom Burke
fuente
13

Probar git add . (que significa "agregar todos los archivos en el directorio actual y debajo")

wadesworld
fuente
5

Otra opción es usar el excludearchivo del repositorio de Git . Este archivo funciona de manera similar a un .gitignorearchivo, pero no está comprometido con el repositorio.

De los documentos de Github :

Puede utilizar esta técnica para archivos generados localmente que no espera que otros usuarios generen, como archivos creados por su editor.

Use su editor de texto favorito para abrir el archivo llamado .git/info/excludedentro de la raíz de su repositorio de Git. Cualquier regla que agregue aquí no se registrará y solo ignorará los archivos de su repositorio local.

  1. En Terminal, navegue hasta la ubicación de su repositorio de Git
  2. Usando su editor de texto favorito, abra el archivo .git/info/exclude
  3. Agregue reglas al excludearchivo como lo haría con el .gitignorearchivo
Brett DeWoody
fuente