Материал предоставлен http://it.rfet.ru

Создание ревизии

Итак, Вы внесли изменения в файлы репозитория. Настало время записать эти изменения в историю — создать Вашу первой ревизию.

Если Вы следовали всем примерам этой главы, Ваш тренировочный репозиторий должен находиться в следующем состоянии:

# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	deleted:    README
#	modified:   doc1.txt
#	new file:   test.txt

Для создания новой ревизии в Git используется команда git commit. При этом Вам обязательно необходимо ввести сообщение, которое будет сопровождать новую ревизию в истории. Сообщение необходимо указать с помощью параметра -m (как правило, для указания сообщения используют одинарную кавычку '). Если Вы пропустите параметр -m, Вам будет предложено ввести сообщение с помощью внешнего редактора (например, vim).

Зафиксируйте подготовленные изменения с помощью следующей команды:

git commit -m 'Learned how to add, edit and delete files and how to stage changes for commit.'

После выполнения команды Git покажет Вам следующее сообщение:

[master eb47b56] Learned how to add, edit and delete files and how to stage changes for commit.
3 files changed, 2 insertions(+), 2 deletions(-)
delete mode 100644 README
create mode 100644 test.txt

Это сообщение содержит заголовок ревизии — название ветви, сокращенный SHA-1 идентификатор ревизии и введенное Вами сообщение, а также статистику изменений: сколько файлов было изменено, сколько строк было добавлено и сколько удалено. Также сообщение содержит список файлов, добавившихся или удалившихся из рабочего дерева с момента прошлой ревизии.

Важные моменты

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

Очень часто Вам будет необходимо включать все изменения рабочего дерева в ревизию. Для этого Вы можете воспользоваться параметром -a. Например, следующая команда:

git commit -a -m 'Fixed issue #37, detailed review pending.'

Эквивалента двум следующим:

git add -u
git commit -m 'Fixed issue #37, detailed review pending.'

Однако, несмотря на кажущееся удобство, Вам всё же необходимо помнить о неотслеживаемых файлах. Параметр -a не включает их в ревизию, поэтому если Вы создавали новые файлы и хотите включить их в ревизию, не забудьте добавить их с помощью git add . или git add -A (или явно указав путь к ним).

«Очистка» рабочего дереваПодготовка нового репозитория