Git Add
Последнее обновление
git add перемещает изменения в область индексирования (индекс), помечая их для включения в следующий коммит. Можно проиндексировать один файл, всё сразу с помощью git add . или выбрать отдельные части интерактивно с -p. Индексирование - это шаг между редактированием файлов и их коммитом.
Попробуйте это в терминальном playground - настоящая оболочка в вашем браузере, ничего устанавливать не нужно.
Синтаксис
| Command | What it does |
|---|---|
git add file.txt | Проиндексировать один файл |
git add . | Проиндексировать все изменения в текущей папке |
git add -A | Проиндексировать все изменения во всём репозитории |
git add -p | Проиндексировать выбранные части интерактивно |
git add *.js | Проиндексировать файлы, подходящие под шаблон |
git restore --staged file.txt | Убрать файл из индекса (сохранив изменения) |
Частые случаи
| Goal | Command |
|---|---|
| Проиндексировать всё | git add . |
| Проиндексировать часть файла | git add -p |
| Убрать файл из индекса | git restore --staged file.txt |
| Посмотреть, что проиндексировано | git status |
Часто задаваемые вопросы о git add
Что делает git add?
Он индексирует изменения - копирует их в индекс, чтобы они попали в ваш следующий коммит. Редактирование файла не индексирует его; вы выполняете
git add <file>, чтобы пометить его как готовый. Затем git commit записывает именно то, что проиндексировано. Индексирование позволяет закоммитить одни изменения и оставить другие на потом.В чём разница между git add . и git add -A?
git add . индексирует изменения в текущем каталоге и вложенных, включая новые, изменённые и удалённые файлы. git add -A индексирует изменения во всём репозитории независимо от текущего каталога. В корне репозитория оба ведут себя одинаково; различия проявляются, когда вы находитесь в подпапке.Как проиндексировать только часть файла?
Используйте
git add -p (режим патча). Git проведёт вас по каждому изменению ("hunk") и спросит, индексировать ли его, чтобы вы могли разделить несвязанные правки в одном файле на отдельные коммиты. Нажмите y, чтобы проиндексировать hunk, n, чтобы пропустить его, и s, чтобы разбить его дальше.Как убрать файл из индекса?
Выполните
git restore --staged <file> (современный Git) или git reset <file> (более старый). Оба убирают файл из области индексирования, сохраняя ваши правки в рабочем дереве - противоположность git add.Можно ли попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить
git add в настоящей оболочке в браузере - ничего устанавливать не нужно. Бесплатный интерактивный курс Git от Coddy также пошагово охватывает индексирование и коммиты.