Серия небольших статей о системе контроля версий, известной как Git!
Эта статья является частью серии. Если у вас возникли проблемы со следованием, обязательно читайте статьи по порядку. В этой статье предполагается, что вы уже знакомы со следующим рабочим процессом:
modify files
→ stage 1 or more modified files
→ commit staged files
Индекс / промежуточная область
Теперь, когда вы знаете, как Git обрабатывает измененное и зафиксированное состояния, давайте посмотрим, как Git на практике обрабатывает состояние staged.
Git реализует промежуточное действие, добавляя специальный файл с именем index в папку .git
. Область, которую представляет этот файл, также неофициально называется промежуточной областью.
После того, как вы изменили некоторые файлы, вы выбираете, какие из этих измененных файлов вы хотите сохранить в новой версии. Затем Git обновит индекс, чтобы записать ваше решение. Когда вы, наконец, выполните коммит, Git будет использовать индекс, чтобы определить, какие изменения включить в новый снимок вашего рабочего дерева.
Напомним, что когда вы редактируете файл, он проходит через три состояния следующим образом:
modified
→ staged
→ committed
И физически он перемещается следующим образом:
working tree
→ staging area
→ database
Полученный снимок в базе данных будет содержать копии файлов, которые были подготовлены, включая их поэтапные изменения. Файл, который был изменен, но не помещен на промежуточное хранение, обрабатывается так, как будто он не изменился в моментальном снимке. Как и для всех неизмененных файлов, моментальный снимок будет просто ссылаться на версию этого файла, которая была сохранена ранее, вместо сохранения новой копии.
Все еще голоден? Сделай следующий глоток →