TG Telegram Group & Channel
Dev Tools | United States America (US)
Create: Update:

​​DeepGit: Plumbing и Porcelain - введение.

Это первая статья из цикла предстоящих статей про git.
Я решил разбить весь материал на отдельные статьи, что бы не загружать огромными лонгридами и придерживаться формата канала.

Изначально git был больше инструментом для создания VCS чем непосредственно VCS.
Знакомый нам git в виде git add, git commit, git merge итд это "высокоуровневые" врапперы над низкоуровневыми командами вроде git update-index, git hash-object, git cat-file и других.

Вся "магия" гита спрятана внутри папки .git и представляет собой своего рода файловую систему с файлами и папками.

Что у нас появляется внутри папки .git после создания:

 tree -a
.
└── .git
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
Упустим пока все файлы кроме основных: HEAD, index, objects, refs.

refs - папка содержит ссылки на обьекты коммитов.
objects - папка git-обьектов
index - содержимое индекса
HEAD - содержит ссылку на актуальное состояние.

Остальные папки вроде hooks которае содержит "тригеры" на на различные действия или папка config с доп настройками для этой репы не являются частью "двигателя" гит.

В следующей статье мы разберемся какие есть виды обьектов внутри гита, что они хранят итд.

​​DeepGit: Plumbing и Porcelain - введение.

Это первая статья из цикла предстоящих статей про git.
Я решил разбить весь материал на отдельные статьи, что бы не загружать огромными лонгридами и придерживаться формата канала.

Изначально git был больше инструментом для создания VCS чем непосредственно VCS.
Знакомый нам git в виде git add, git commit, git merge итд это "высокоуровневые" врапперы над низкоуровневыми командами вроде git update-index, git hash-object, git cat-file и других.

Вся "магия" гита спрятана внутри папки .git и представляет собой своего рода файловую систему с файлами и папками.

Что у нас появляется внутри папки .git после создания:
 tree -a
.
└── .git
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
Упустим пока все файлы кроме основных: HEAD, index, objects, refs.

refs - папка содержит ссылки на обьекты коммитов.
objects - папка git-обьектов
index - содержимое индекса
HEAD - содержит ссылку на актуальное состояние.

Остальные папки вроде hooks которае содержит "тригеры" на на различные действия или папка config с доп настройками для этой репы не являются частью "двигателя" гит.

В следующей статье мы разберемся какие есть виды обьектов внутри гита, что они хранят итд.


>>Click here to continue<<

Dev Tools




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)