Рабочий процесс
Измените несколько файлов, затем добавьте их обновленное содержание в «индекс» (индекс используется для объединения изменений, которые Вы хотите включить в коммит – подробнее смотрите в главе Индекс Git, прим. переводчика):
Теперь можно создавать коммит. Увидеть, что будет входить в коммит можно с помощью команды git diff с параметром --cached:
Без опции --cached команда git diff выведет все изменения которые вы сделали, но еще не добавили в «индекс». Так же получить информацию о текущий ситуации с файлами можно воспользовавшись командой git status:
1 2 3 4 5 6 7 8 9 | $ git status # On branch master # Changes to be committed: # (use "git reset HEAD ..." to unstage) # # modified: file1 # modified: file2 # modified: file3 # |
Делайте, если необходимо, какие-то еще изменения в файлах проекта, а затем так же добавляйте их в «индекс». В завершении создайте коммит (здесь я неспроста использовал выражение создайте коммит, ведь как Вы должны помнить, коммит является одной из сущностей объектной модели Git – прим. переводчика) произведенных изменений:
Вам будет предложено ввести описание (комментарий) внесенных изменений, а затем создастся запись новой версии проекта. Это действие можно сократить с двух до одного шага, воспользовавшись параметром -m команды git commit и указав комментарий сразу:
Можно сократить еще один шаг и вместо вызова git add, для включения измененных файлов в «индекс» воспользоваться параметром -a команды git commit:
В результате все измененные файлы (но не новые!) будут добавлены в «индекс», а затем в этом же шаге создан коммит.
Примечание к комментариям: считается хорошим тоном начинать комментарий к коммиту кратким описанием (порядка 50 знаков), далее пустая строка и потом более детальное описание произведенных изменений. Некоторые надстройки, к примеру отправляющие информацию о коммитах на email используют первую строку в качестве темы письма, а часть после пустой строки вставляют в сообщение.
Git отслеживает изменения содержимого, а не файлов
Во многих системах контроля версий команда add говорит о начале отслеживания изменений в новом файле. В Git команда add одновременно и проще и обладает большим функционалом. Команда git add используется для новых и измененных файлов, она делает образ файлов и помещает их в «индекс» для последующего включения этих данных в коммит.
Перевод, оригинал: http://book.git-scm.com/3_normal_workflow.html
На странице оригинального текста есть видео к данной главе.