2011-01-27 2 views
28

Что означает «Изменено, но не обновлено»? Эти файлы находятся в git, они были изменены, но когда я запускаю «статус git», эти изменения отображаются в разделе «Изменено, но не обновлено» вместо «Изменения, которые нужно совершить».Git: файл "изменено, но не обновлено"

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

С тех пор как они уже были добавлены, почему они не являются «Изменениями, совершенными»?

+1

Ключевой идеей здесь, с 'git add', является то, что вы готовите фиксацию, заключается в том, что вы вносили изменения в промежуточную область (индекс), а затем после того, как вы поставили то, что хотите совершить, , Это позволяет вам быть очень осторожным в отношении того, что входит в данное задание. – Cascabel

ответ

5

Каждый раз, когда вы изменяете файл, вы должны добавить его, используя git add, чтобы иметь возможность зафиксировать его, даже если вы добавили его в начале.

3

git add <file> добавляет «изменения» в локальное расписание фиксации, если эти изменения не добавлены, то они не выполняются.

Почему? Это рабочий процесс git, так же как и всякая терминология, открытая для интерпретации, возможно, вы привыкли к идее SVN add, попробуйте отказаться от того, что вы предполагаете, и узнать, как git делает что-то.

23

Вы должны использовать git add каждый раз, когда ИЛИ использование git commit -a или git commit --all вместо обычного git commit.

из 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 в основном команда "принять уведомление об этом файле/папке". Не изменяется трек CVS или subversion в этот файл.

+2

отмечают, что в новых версиях git (> 1,8) комментарий «Изменено, но не обновлено» было изменено на «изменения, не поставленные для фиксации», –