Серия небольших статей о системе контроля версий, известной как Git!

Эта статья является частью серии. Если у вас возникли проблемы со следованием, обязательно читайте статьи по порядку. В этой статье предполагается, что вы уже знакомы со следующим рабочим процессом:

modify filesstage 1 or more modified filescommit staged files

Индекс / промежуточная область

Теперь, когда вы знаете, как Git обрабатывает измененное и зафиксированное состояния, давайте посмотрим, как Git на практике обрабатывает состояние staged.

Git реализует промежуточное действие, добавляя специальный файл с именем index в папку .git. Область, которую представляет этот файл, также неофициально называется промежуточной областью.

После того, как вы изменили некоторые файлы, вы выбираете, какие из этих измененных файлов вы хотите сохранить в новой версии. Затем Git обновит индекс, чтобы записать ваше решение. Когда вы, наконец, выполните коммит, Git будет использовать индекс, чтобы определить, какие изменения включить в новый снимок вашего рабочего дерева.

Напомним, что когда вы редактируете файл, он проходит через три состояния следующим образом:

modifiedstagedcommitted

И физически он перемещается следующим образом:

working treestaging areadatabase

Полученный снимок в базе данных будет содержать копии файлов, которые были подготовлены, включая их поэтапные изменения. Файл, который был изменен, но не помещен на промежуточное хранение, обрабатывается так, как будто он не изменился в моментальном снимке. Как и для всех неизмененных файлов, моментальный снимок будет просто ссылаться на версию этого файла, которая была сохранена ранее, вместо сохранения новой копии.

Все еще голоден? Сделай следующий глоток →