Итак, Вы внесли изменения в файлы репозитория. Настало время записать эти изменения в историю — создать Вашу первой ревизию.
Если Вы следовали всем примерам этой главы, Ваш тренировочный репозиторий должен находиться в следующем состоянии:
# 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
(или явно указав путь к ним).
«Очистка» рабочего дерева | Подготовка нового репозитория |