TGViewer
Dev Tools Dev Tools @developer_tools · 3.2K subscribers
Post #243 6.12K
​​DeepGit: Экзамен

Мы разобрались с оновными основами основ в git:
Как выглядит директория git-a
Какие есть типы данных в git
Как git сохраняет версии и накатывает их
Что такое blob и как он хранит данные
Как собирается hash и архивируется текст

Давайте теперь глянем как это все собрать воедино:

- создадим репозиторий;
- добавим новый файл с текстом;
- коммит;
- добавим новый файл с другим текстом и изменения в первом файле;
- коммит.

C помощью привычного git-a выглядит следующим образом:

 git init
echo "text" >>1.txt
git add 1.txt
git commit -m "commit"
echo "text1" >> 1.txt
echo "text" >> 2.txt
git add .
git commit -m "commit 2"

Теперь как это можно сделать с помощью низкоуровневых команд git:

 git init
echo "text" >> 1.txt
git hash-object -w 1.txt
git update-index --add 1.txt
git write-tree
echo "commit" | git commit-tree <tree>
echo "text1" >> 1.txt
echo "text" >> 2.txt
git hash-object -w 1.txt
git hash-object -w 2.txt
git update-index --add 2.txt
git update-index 1.txt
git write-tree
echo "commit 2" | git commit-tree <tree> -p <pcommit>

Вот и все.
По большому счету, чтобы восстановить полностью проект достаточно иметь бекап его .git директории, в которой есть все версии и состояния проекта.

Завтра или послезавтра на @dev_quiz опубликую пару тестов по разобраному тут материалу с git-ом.
Следующее, что мы будем разбирать в git будут референсы и все, что с ними связано.

Напоминаю, если у вас остались вопросы или пожелания, можно их обсудить в нашем чате: @developer_tools_chat
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 →