git add
Описание
Команда git add добавляет изменения из рабочего каталога в область подготовки. С её помощью вы сообщаете Git, что хотите включить обновления определённого файла в следующий коммит. Однако, чтобы зафиксировать эти изменения, необходимо также выполнить git commit. Вместе с упомянутыми выше командами, git status также полезна для проверки состояния рабочего каталога и области подготовки.

Принципы работы
Команды git add и git commit используются для записи версий проекта в историю репозитория. Они необходимы каждому пользователю Git, поскольку составляют основу рабочего процесса Git.
Во время разработки проекта вы сначала редактируете файлы в рабочем каталоге. Когда копия текущего состояния готова к сохранению, вы помещаете изменения в область подготовки с помощью git add. Команду git add следует выполнять каждый раз, когда вы изменяете файл.
Область подготовки
Основная роль команды git add — переносить изменения из рабочего каталога в область подготовки Git. Область подготовки Git — одна из его самых особенных характеристик, которая позволяет собирать все связанные изменения в очень точные снимки состояния. Только после этого вы можете зафиксировать эти изменения в истории проекта.
Часто используемые параметры
- Подготовка изменений в
<file>для следующего коммита:
git add file
git add <file>- Подготовка всех изменений в
<directory>для следующего коммита:
git add directory
git add <directory>- Подготовка всех изменений в уже отслеживаемых файлах:
git add -u
git add -u- Интерактивный режим patch (подготовка изменений по отдельным фрагментам):
git add -p
git add -pПримеры использования git add
Команды git add и git commit используются для создания первого коммита текущего каталога, а также для записи изменений в существующие файлы.
После начала проекта вы можете добавлять новые файлы, передавая их путь в git add.
Добавить файл
git add hello.pyЗафиксировать изменения
git commitИнтерактивный режим
Интерактивная сессия подготовки позволяет выбрать части файла, которые будут добавлены в следующий коммит. Вам будет показан фрагмент изменений и предложена команда. Доступные варианты:
y- подготовить фрагментn- не подготавливать фрагментq- выйти; не подготавливать фрагмент и все оставшиесяa- подготовить фрагмент и все последующие фрагменты в файлеd- не подготавливать фрагмент и все последующие фрагменты в файлеg- выбрать фрагмент для перехода/- искать фрагмент, соответствующий заданному регулярному выражениюj- перейти к следующему фрагментуJ- перейти к предыдущему фрагментуk- перейти к предыдущему фрагментуK- перейти к предыдущему невыбранному фрагментуs- разделить текущий фрагмент на более мелкиеe- вручную отредактировать текущий фрагмент?- вывести справку
Редактирование патчей
Вызов git add -e или выбор e в интерактивном селекторе фрагментов открывает патч в вашем редакторе. После выхода из редактора результат применяется к индексу. Вы можете вносить в патч любые изменения, но некоторые правки могут привести к сложному выводу или даже сделать патч неприменимым. Если вы хотите полностью отказаться от операции, просто удалите все строки патча. Ниже приведены некоторые распространённые элементы, которые можно увидеть в патче, и какие операции редактирования для них имеют смысл.
Строки, начинающиеся с +, обозначают добавленное содержимое. Вы можете удалить их, чтобы не подготавливать любые добавленные строки.
Строки, начинающиеся с -, обозначают удалённое содержимое. Чтобы не подготавливать их удаление, можно заменить - на пробел ().
Изменённое содержимое показывается строками - (удаление старого содержимого), за которыми следуют строки + (добавление заменяющего содержимого). Чтобы не подготавливать изменение, замените строки - на пробелы и удалите строки +. Обратите внимание, что изменение только одной половины пары может привести к запутанным изменениям в индексе.
Практика
What are the functionalities and options associated with the 'git add' command?