2011-09-23 14 views
9

Tengo un repositorio de git y está haciendo algo que nunca he visto antes y que no he encontrado una solución en ninguna parte. Inicialicé con git init y agregué todo con git add * y seguí mi camino ahora cuando trato de confirmar después de editar cualquier número de archivos, ninguno está en etapas para la confirmación, así que tengo que hacer git add -A, que luego los organiza para una confirmación. ¿Hay alguna manera de omitir el paso git add -A? He usado git con Xcode mucho y nunca he tenido que moverlos de una escena a otra en la terminal.Puesta en escena automática con Git

¿Existe un paradigma en el área de preparación de git que me falta? ¿Cómo se supone que debes usarlo?

+0

Puede encontrar las respuestas a la siguiente pregunta de interés: http://stackoverflow.com/questions/3834627/disable-git-staging-area –

Respuesta

18

Usted tiene que añadir los cambios en la confirmación, pero sólo se puede utilizar:

git commit -a 

Para agregar los cambios y cometer o

git commit -am 'commit message' 

que es lo que generalmente rollo.

La adición manual de sus cambios le permite no comprometer todo si no lo desea, lo cual estoy seguro de que puede ser útil a veces.

+0

will 'git commit -a' solo compromete los archivos modificados o ¿será? también incluye los archivos sin seguimiento? Si es el primero, ¿cómo puedo hacer que también asigne automáticamente archivos sin seguimiento? –

1

Agregue un alias que hará el agregado y la confirmación para usted y comience a usar el alias. Si está en Windows, le habría sugerido TortoiseGit, que abstrae el índice.

1

En caso de git no es necesario agregar archivos. Git realiza un seguimiento de todos los archivos que ha agregado hasta ahora. Solo necesita agregar si está agregando un nuevo archivo que no está allí en su repositorio remoto de git.

Para los archivos que han sido modificados, puede utilizar git commit "mensaje" -AM

git commit "mensaje" -AM se comprometerán automáticamente todos los archivos modificados.

Después de una confirmación, debe enviar los datos al control remoto usando el comando git push.

Espero que esto resuelva tu problema.

Cuestiones relacionadas