1.3.2 Добавление и фиксация
Наконец, мы добавим файлы Вашего нового проекта Rails к Git и затем зафиксируем результаты. Можно добавить все файлы (кроме тех, которые соответствуют правилам игнорирования в .gitignore) следующим образом:20
$ git add .
Здесь точка ‘.’ представляет текущий, и Git достаточно умен, чтобы добавить файлы рекурсивно, таким образом, это автоматически включает все подкаталоги. Эта команда добавляет файлы проекта в зону ожидания, которая содержит незавершенные изменения Вашего проекта; можно видеть, какие файлы находятся в зоне ожидания, используя комманду status:21
$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: README # new file: Rakefile . . .
(Результат длинный, и я применил вертикальные точки, чтобы указать пропущенный вывод.)
Чтобы сказать Git, что Вы хотите сохранить изменения, используйте команду commit:
$ git commit -m "Initial commit"
[master (root-commit) df0a62f] Initial commit
42 files changed, 8461 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 Rakefile
.
.
.
Метка -m позволяет Вам добавлять сообщение для фиксации; если Вы пропустите -m, то Git откроет редактор, который Вы установили в Разделе 1.3.1 и предложит ввести сообщение в нем.
Важно отметить, что фиксации Git локальны, и записываются только на машине, на которой происходят фиксации. Что отличает его от популярной open-source системы управления версиями под названием Subversion, в которой фиксация обязательно производит изменения на удаленном репозитарии. Git делит фиксацию в стиле Subversion на два логических куска: локальная запись изменений (git commit) и отправка изменений в удаленный репозитарий (git push). Мы увидим пример отправки в Разделе 1.3.5.
Между прочим, Вы можете увидеть список своих сообщений о фиксации, используя команду log:
$ git log commit df0a62f3f091e53ffa799309b3e32c27b0b38eb4 Author: Michael Hartl <[email protected]> Date: Thu Oct 15 11:36:21 2009 -0700 Initial commit
Чтобы выйти из log git, нажмите q.