Latest web development tutorials

Гит рабочая зона, постановка области и хранилище

Основная концепция

Сначала мы понимаем рабочую область под Git, область временного хранения и концепции хранилища

  • Рабочее пространство: что вы можете увидеть в компьютерном каталоге.
  • Временная Зона: английский называется стадией, или индекс. Как правило, хранятся в "мерзавец директории" индексный файл (.git / индекс), поэтому мы иногда называют индекс временной области (индекс).
  • Repository: рабочая область имеет скрытый каталог .git, это не рабочая область, но Git репозиторий.

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

На рисунке слева в рабочей области на правой стороне хранилища. В хранилище с надписью "индекса" данной области является временной области (этап, индекс), отмечен как филиал «мастер» представлен деревом мастер-каталога.

На рисунке мы видим, что в это время "голова" на самом деле указывает на мастер филиала «курсором». Таким образом, поместите команду, показанную появляется головка может быть использован для замены мастера.

объекты фиг область, идентифицированные как библиотеки объектов Git, на самом деле находится ".git / объекты" каталог, который содержит множество объектов и создания контента.

Когда рабочая область, чтобы изменить (или добавить) файл для выполнения "мерзавец добавить" команду, дерево каталогов обновляется промежуточную область в то время как рабочая область, чтобы изменить (или добавить) содержимое файла записывается в объект в библиотеке новый объект, и идентификатор объекта записывается во временной области индекс файла.

При выполнении фиксации (мерзавец фиксации), дерево временная область записи в хранилище (библиотеки объектов), мастер филиала будет обновляться соответствующим образом. Царапина дерево каталогов, что является хозяином зоны, когда она направлена ​​дерево представляется.

При выполнении команды "сброс мерзавец ГОЛОВА", промежуточная область дерева каталогов будет переписан, он заменяется точкой мастер ветви дерева, но рабочая область не затрагивается.

При выполнении "мерзавец гт --cached <файл>" команду, удалять файлы непосредственно из промежуточной области, рабочая область не внести изменения.

При выполнении "Git Checkout." Или "Git Checkout - <файл>" команду, он заменит всю бумагу в рабочую зону с промежуточной площадки или указанного файла. Эта операция очень опасна, она очистит изменения рабочего пространства не добавляются в область размещения.

При выполнении "мерзавец оформления заказа Head." Или "GIT оформления заказа ГОЛОВУ <файл>" команду и заменит временную область хранения и рабочая область файла с точками ветвления ГОЛОВА освоить все или часть файла. Эта команда также может быть очень опасно, потому что изменения не только очистить рабочее пространство неподтвержденные изменения удалит временную область непринятого.