Подготовка файлов

В системе контроля версий git существует концепция области подготовленных файлов. Можно представить ее как холст, куда вы наносите изменения, запланированные для коммита. Изначально этот холст пуст, но с помощью команды add на него добавляются файлы, их части или даже отдельные строки. Затем, выполняя команду commit, мы сохраняем эти изменения в репозитории, фиксируя текущее состояние. В данном случае у нас есть только один файл для добавления:

$ git add hello.txt

Если необходимо добавить все файлы из текущей директории, используйте следующую команду:

$ git add -A

Повторно проверим статус, чтобы убедиться в изменениях. Теперь результат будет иным:

$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: hello.txt

Теперь файл готов к коммиту. Сообщение о состоянии также дает информацию об изменениях, которые были внесены в область подготовки. В данном случае добавлен новый файл, но изменения могут также включать модификации или удаление файлов.

Коммит(фиксация изменений)

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

$ git commit -m "Initial commit."

Эта команда создаст новый коммит, включающий все изменения из области подготовки, такие как добавление файла hello.txt. Ключ -m позволяет добавить сообщение «Initial commit.», которое описывает внесенные изменения. Хорошей практикой является частое создание коммитов с информативными комментариями.

Вопросы для самопроверки:

  1. Что представляет собой область подготовленных файлов в системе контроля версий git?
  2. Какая команда используется для добавления файла в область подготовленных файлов?
  3. Какую информацию выводит команда `git status` после добавления файла?
  4. Что происходит при выполнении команды `git commit -m "Initial commit."`?
  5. Почему важно добавлять информативные комментарии при создании коммитов?