git add
See the detailed information about the git add command, the working principles with examples, common options, such as interactive mode and editing patches.
Описание
Команда 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?