2010-08-16 19 views
209

¿Hay alguna manera de agregar todos los archivos sin importar lo que les haga, ya sea que se eliminen, no se rastreen, etc.? como para un compromiso. Simplemente no quiero tener que git add o git rm todos mis archivos cada vez que me comprometo, especialmente cuando estoy trabajando en un producto grande.Git ¿agregar todos los archivos modificados, eliminados y sin seguimiento?

+6

Ver: [Diferencia de "git add -A" y "git add."] (Http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add) – mahalie

Respuesta

9

No estoy seguro de si agregará archivos eliminados, pero git add . desde la raíz agregará todos los archivos sin seguimiento.

+0

ver mi respuesta sobre cómo agregar archivos eliminados –

254

Probar:

git add -A 

Advertencia: A partir de git 2.0 (mediados de 2013), esto siempre archivos etapa en todo el árbol de trabajo.
Si desea organizar los archivos debajo de la trayectoria actual de su árbol de trabajo, es necesario utilizar:

git add -A . 

Véase también: Difference of git add -A and git add .

+0

esto no funcionó para mí ... ¿cómo puedo mostrar mi entrada-salida de terminal en esta discusión? copiar y pegar mi salida del terminal como respuesta a esta discusión? –

+0

aquí está el problema que estoy enfrentando - http://stackoverflow.com/q/7726131/636762 - amablemente ayúdame en este, por favor –

+0

Esto tampoco puede funcionar si tu versión de git es antigua. Estaba ejecutando un script en un servidor que ejecutaba git 1.5.2.5. git add -A no estaba funcionando. De la secuencia de comandos, no se informó ningún mensaje de error. Solo desde la línea de comando encontré que "A" no era una opción legal para agregar. – Eponymous

8
git add . 

hay un espacio entre el complemento y el'. ' (punto en palabra). Se hace el trabajo. :)

+1

'git add .' etapas nuevas y modificadas, * sin eliminar * - http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add –

58

Trate

git add -u 

La opción "u" es sinónimo de actualización. Esto actualizará el repositorio y, de hecho, eliminará los archivos del repositorio que haya eliminado en su copia local.

git add -u [filename] 

para crear una eliminación en un solo archivo. Una vez presionado, el archivo ya no estará en el repositorio.

Alternativamente,

git add -A .

es equivalente a

git add . 

git add -u . 

Nota el extra ''. en git add -A y git add -u


Advertencia: A partir de git 2.0 (mediados de 2013), esto siempre archivos etapa en todo el árbol de trabajo.
Si desea organizar los archivos debajo de la trayectoria actual de su árbol de trabajo, es necesario utilizar:

git add -A . 

Véase también: Difference of git add -A and git add .

4

fui autor del proyecto G2, un entorno favorable para la línea de comandos git lover.
Por favor, que el proyecto de github - G2 https://github.com/orefalo/g2

Tiene un montón de comandos útiles, uno de ellos siendo exactamente lo que estas buscando: freeze

congelación - congelar todos los archivos en el repositorio (adiciones, eliminaciones, modificaciones) al área de ensayo, organizando así ese contenido para su inclusión en el siguiente compromiso. También acepte una ruta específica como parámetro

4

Ésta es mi alternativa (en cualquier bash):

$ git status -s|awk '{ print $2 }'|xargs git add 

Para restablecer

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD 
30

¿Quieres git add -A:

git add -A etapas Todos;

git add . etapas nuevas y modificadas, sin eliminar;

git add -u etapas modificadas y eliminadas, sin nuevas.

1

que utilizar la siguiente línea a añadir para la estadificación de todos los archivos modificados y de nueva creación, con exclusión de los que se enumeran en .gitignore:

git add $(git ls-files -mo --exclude-standard) 

(la sintaxis $() es para la cáscara del golpe). Supongo que la opción de línea de comandos -mod debe añadir también los archivos borrados ... O, si usted tiene los nombres de archivo con espacios en blanco incrustados, la siguiente de una sola línea debe hacer el truco:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add 
4

Para versión más reciente de Git.

Probé git add -A y esto se le solicite,

advertencia: El comportamiento de 'git add --all (o -A)' sin argumentos ruta de un subdirectorio del árbol va a cambiar en Git 2.0 y no debería usarse . Para añadir contenido para todo el árbol, ejecute:

git add --all:/(o git add -A: /)

Para restringir el comando en el directorio actual, ejecute:

git añadir todo . (o git add -A.)

Con la versión actual de Git, el comando está restringido al directorio actual .


Luego probé por debajo del cual trabajaron.

git add --all :/ 
14

git add --allogit add -Aogit add -A .escenarios de todo

git add .Etapas Nuevos & Modificado Pero Sin eliminados

git add -uEtapas Modificados & eliminan Pero Sin Nueva

git commit -a Medios git add -u Y git commit -m "message"

Después de escribir este comando siga estos pasos: -

  1. prensa i
  2. escribir su mensaje
  3. prensa esc
  4. prensa :wq
  5. prensa entrar

git add <list of files> añadir archivo específico

git add *.txt añadir todos los archivos txt en el directorio actual

git add docs/*/txt añadir todos los archivos txt en el directorio docs

git add docs/ añadir todos los archivos en el directorio docs

git add "*.txt" o git add '*.txt' añadir todos los archivos en todo el proyecto

1

De la documentación de Git a partir de la versión 2.0:

para agregar contenido para todo el árbol, ejecute:

git add --all :/ 

o

git add -A :/ 

Para restringir el comando en el directorio actual, ejecute:

git add --all . 

o

git add -A . 
1

Esto es lo que yo uso para la estadificación de todos los archivos modificados en una carpeta:

git add . 

Gracias!

+1

Esto parece ser solo una repetición de [esta respuesta existente] (https://stackoverflow.com/a/8680056) y [esta respuesta existente] (https://stackoverflow.com/a/3498057). – Pang

Cuestiones relacionadas