В чем разница git add
и git commit
простыми словами?В чем разница между локальным репозиторием и индексом?
ответ
В «простых словах» git add
отметит файлы, которые будут добавлены/изменены/удалены вашим следующим git commit
, который завершает эти изменения в фиксации, добавляя в историю вашего репо.
Когда файлы помечены как измененные, они добавляются в индексный файл/промежуточную область, которая похожа на съемку/моментальный снимок состояния вашей рабочей копии.
git commit
затем делает эти изменения «постоянными», хотя с Git коммиты не являются «постоянными», поскольку они могут быть в более традиционных системах управления версиями.
Это простой ответ высокого уровня.
Я думаю, что лучшая аналогия, которую вы можете сделать, это то, что индекс является промежуточной областью. git add
(или git add -p
) обновляет содержимое в индексе, а git commit
создаст фиксацию из содержимого в индексе.
Andrew Peterson из NDP Software положил отличное описание того, как команды влияют на различные этапы git в их Visual Git Cheatsheet. Вы можете взаимодействовать с cheatsheet и видеть, как различные команды меняют изменения из вашего рабочего пространства, индекса, локального репо и т. Д.
благодарит за ссылку на cheatsheet! – static
Да, лист действительно крут ... – Stef