2011-01-27 12 views
28

¿Qué significa "cambiado pero no actualizado"? Estos archivos están en git, se han modificado, pero cuando ejecuto el "estado de git", estos cambios aparecen en "Modificado pero no actualizado" en lugar de "Cambios a cometer".Git: archivo "cambiado pero no actualizado"

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# modified: breakouts/views.py 
# 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: templates/registration/login.html 
# modified: templates/registration/registration.html 

# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# context_processors.py 
# static/#css.css# 

Como ya se han agregado, ¿por qué no son "Cambios cometidos"?

+1

La idea clave aquí, con 'git add', es que prepare un compromiso, es que pone modificaciones en el área de ensayo (índice), y luego una vez que ha organizado lo que quiere comprometer, lo comete . Esto le permite tener mucho cuidado con lo que entra en un compromiso determinado. – Cascabel

Respuesta

5

Cada vez que modifica un archivo, debe agregarlo usando git add para poder confirmarlo, incluso si lo agregó al principio.

3

El git add <file> agrega los "cambios" a su cronograma de compromiso local, si esos cambios no se agregan, entonces no se confirman.

¿Por qué? Este es el flujo de trabajo de git, al igual que todo lo que hay terminología que está abierta a la interpretación, tal vez estés acostumbrado a la idea de SVN de add, intenta olvidar lo que supones y aprende cómo git hace las cosas.

23

usted tiene que utilizar cada vez que git addO uso git commit -a o git commit --all en lugar de llanura git commit.

de Git docs:

 
-a 
--all 
    Tell the command to automatically stage files that have been modified 
    and deleted, but new files you have not told git about are not affected. 

add es básicamente el comando "tomar nota de este archivo/directorio". No la pista de CVS o subversión cambia a este archivo.

+2

tenga en cuenta que en las versiones más nuevas de Git (> 1.8), el comentario "Modificado pero no actualizado" se marcó como "cambios no realizados para la confirmación" –

Cuestiones relacionadas