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
.