TGViewer
Dev Tools Dev Tools @developer_tools · 3.2K subscribers
Post #232 6.52K
​​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 с доп настройками для этой репы не являются частью "двигателя" гит.

В следующей статье мы разберемся какие есть виды обьектов внутри гита, что они хранят итд.
More from @developer_tools
  1. Nov 1, 2021​​ray.so - прикольный тул для создания симпатичных код-шейр картинок. Даже плохой код тут…
  2. Oct 30, 2021​​inpaint - тул с устаревшим лендингом, но с простым интерфейсом который позволяет легко у…
  3. Oct 9, 2021​​Bubble - интересный тул для лепки сайта без кода. Довольно обширный функционал конструкт…
  4. Oct 8, 2021​​there - простенький тулл для просмотра локального времени тиммейтов, друзей колег. Не ед…
  5. Sep 24, 2021​​genact - тулл который создает видимость активности в терминале. Для работы нужно скачать…
  6. Sep 23, 2021​​unscreen - тул убирает фон на видео/gif. Есть API. Работает не идеально на кадре с Траво…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →