Git: файл "изменен, но не обновлен"
Что означает "Изменено, но не обновляется"? Эти файлы находятся в git, они были изменены, но когда я запускаю "git status", эти изменения отображаются в разделе "Изменено, но не обновлено" вместо "Изменения, которые нужно совершить".
# 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
каждый раз, когда OR использовать 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 add
, чтобы его можно было зафиксировать, даже если вы добавили его в начале.
Ответ 3
git add <file>
добавляет "изменения" в локальное расписание фиксации, если эти изменения не добавляются, то они не выполняются.
Почему? Это рабочий процесс git, так же как и всякая терминология, открытая для интерпретации, возможно, вы привыкли к идее SVN add
, попробуйте отказаться от того, что вы предполагаете, и узнать, как git делает вещи.