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

Снимки, а не различия

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

Хранение данных как набора изменений относительно первоначальной версии каждого из файлов
Хранение данных как снимков проекта во времени

Целостность Git

В Git для всего вычисляется хеш-сумма, и только потом происходит сохранение. В дальнейшем обращение к сохранённым объектам происходит по этой хеш-сумме. Это значит, что невозможно изменить содержимое файла или каталога так, чтобы Git не узнал об этом.

Три состояния

У Git есть три основных состояния, в которых могут находиться ваши файлы: изменён (modified), индексирован (staged) и зафиксирован (committed):

  • К изменённым относятся файлы, которые поменялись, но ещё не были зафиксированы.
  • Индексированный — это изменённый файл в его текущей версии, отмеченный для включения в следующий коммит.
  • Зафиксированный значит, что файл уже сохранён в вашей локальной базе.
Рабочая копия, область индексирования и каталог Git

Базовый подход в работе с Git выглядит так:

  1. Изменяете файлы вашей рабочей копии.
  2. Выборочно добавляете в индекс только те изменения, которые должны попасть в следующий коммит, добавляя тем самым снимки только этих изменений в индекс.
  3. Когда вы делаете коммит, используются файлы из индекса как есть, и этот снимок сохраняется в ваш каталог Git.
Categories: Uncategorized

0 Comments

Lisa kommentaar

Avatar placeholder

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga