Команды Git

git add

git add: добавить файлы в область подготовки (staging area).

Команда git add переносит изменения из рабочего дерева (working tree) в область подготовки (staging area). Она сообщает Git, что обновления в выбранных файлах нужно включить в следующий коммит. При этом git add не трогает сам репозиторий, пока правки не будут закоммичены. Можно добавлять сразу несколько файлов или использовать паттерны, чтобы захватить файлы определённого типа. А ещё можно отправлять в область подготовки отдельные куски файла в интерактивном режиме.

Подготовка (staging) — это шаг перед созданием коммита. Он позволяет точечно выбрать и подготовить файлы, вместо того чтобы коммитить всё подряд, что изменилось с прошлого раза. Это отличный способ разбить правки на логичные части перед тем, как сохранить их в историю репозитория.

Команда git add особенно спасает, когда правок много и их хочется разбить на несколько коммитов. Добавляя в область подготовки только нужные файлы, можно чётко контролировать, как именно шаг за шагом будет записываться история проекта.

Например, если в одном файле появилась новая возможность, а в другом — обновились стили, можно подготовить их по очереди и сделать два независимых коммита. Если потом захочется отменить правки стилей, код новой возможности при этом не пострадает.

Примеры

Добавить конкретный файл в область подготовки Git:

git add README.md

Добавить все изменения в текущей директории (включая новые файлы и правки в существующих). Символ . указывает на текущую директорию (то есть «все изменения в текущей директории»):

git add .

Добавить все файлы .txt в текущей директории:

git add *.txt

Выбрать конкретные куски файла и отправить их в область подготовки в интерактивном режиме:

git add --patch

Или короткий вариант:

git add -p

Убрать из области подготовки файл, который был добавлен туда ранее:

git restore --staged README.md