Итак, мы узнали как добавлять, редактировать и удалять файлы в репозиториях. К этому моменту Вам могло показаться, что работа с Git сложна и отнимает много времени из-за необходимости вносить каждое изменение в область подготовки. К счастью, многие команды Git при их использовании с определенными параметрами оптимизированы для выполнения повседневных задач. Таким образом, регулярно Вы будете пользоваться лишь небольшим количеством команд.
При обычной работе с Git-репозиториями изменения, внесенные с момента последней ревизии, остаются только в рабочем дереве. Перед созданием очередной ревизии Вы выбираете, какие изменения необходимо в неё включить.
Самый распространенный подход — это включение всех изменений с помощью следующей команды:
git add -A
Эта команда отмечает неотслеживаемые, измененные и удаленные файлы в staging area для включения в следующую ревизию. Таким образом, после выполнения этой команды рабочее дерево становится полностью синхронизированным с областью подготовленных файлов.
Если же Вам по какой либо причине необходимо синхронизировать все изменения между рабочим деревом и областью подготовленных файлов, но избежать добавления неотслеживаемых файлов под контроль версий, Вы можете воспользоваться командой git add -u
.
Самый распространенный подход — включение всех изменений в ревизию — фактически делает область подготовленных файлов бесполезной. На самом же деле staging area — это одна из концепций, выделяющих Git среди других систем контроля версий в лучшую сторону. С её помощью Вы имеете возможность контролировать, какие изменения будет включать следующая ревизия, даже если рабочее дерево содержит изменения, которые Вы пока еще не готовы зафиксировать.
Чтобы сделать то же самое в других системах контроля версий, Вам потребуется отменить изменения, которые Вы не хотите включать (соответственно, чтобы не потерять эти изменения для следующих ревизий, Вам придется прибегнуть к копированию файлов). Некоторые системы позволяют указать, какие изменения следует включить в ревизию, посредством их перечисления в командной строке, однако этот метод крайне неудобен и влечет досадные ошибки.
Удаление файлов | «Очистка» рабочего дерева |