Подготовка файлов к коммиту в Git
Слежение за файлами это только пол
дела. Мы также должны указать Git,
в какой момент запомнить состояние
файла для последующего коммита.
Это также делается с помощью
многофункциональной команды add.
Сейчас мы обсудим подробнее это тонкое место.
Пусть мы создали файл index.html.
Изначально он будет не отслеживаемый:
Untracked files:
index.html
Сделаем его отслеживаемым:
git add index.html
Теперь он попадает в список для подготовленных к коммиту, как новый файл:
Changes to be committed:
new file: index.html
Изменим теперь текст файла. В этом случае файл файл попадет в раздел не подготовленных к коммиту, но уже как модифицированный:
Changes not staged for commit:
modified: index.html
Более того, этот файл будет сразу в двух разделах:
Changes to be committed:
new file: index.html
Changes not staged for commit:
modified: index.html
Как так? Дело в том, что Git сохраняет
(индексирует) именно текущее состояние
файла. Под состоянием понимается текущий текст
файла, а также создан он или удален.
Если же файл изменен, то просто так
его изменения не сохранятся (не проиндексируются)
в Git. Для этого нужно снова выполнить
команду add. Фактически эту команду
следует рассматривать как добавление
текущего состояния файла к новому коммиту.
Именно поэтому мы видим наш файл в нескольких списках - это разные версии файла.
Давайте заставим Git проиндексировать
текущее состояние нашего файла index.html,
в который мы внести изменения.
Выполним для него команду add:
git add index.html
После этого текущая версия станет готова к коммиту и попадет в соответствующий раздел:
Changes to be committed:
modified: index.html
И так нужно делать каждый раз.
Когда вы вносите изменения в файл,
вы должны проиндексировать их
для следующего коммита с помощью
команды add. Конечно же,
если вы хотите забирать эти
изменения в следующий коммит.
Создайте новый файл. Проиндексируйте ваш файл. Посмотрите статус.
Внесите изменение в ваш файл. Посмотрите статус. Проиндексируйте ваш файл. Посмотрите статус.
Снова внесите изменение в ваш файл. Посмотрите статус. Проиндексируйте ваш файл. Посмотрите статус.