git gut

Влад Петров | ejiek

14.04.2024

git

The stupid content tracker

Распределённая система управления версиями проектами

Распределённая система управления версиями проектами

https://git-scm.com/

Source control management

Source code management

Программа


$ git
usage: git [-v | --version] [-h | --help] [-C ] [-c =]
           [--exec-path[=]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
           [--no-optional-locks] [--no-advice] [--bare] [--git-dir=]
           [--work-tree=] [--namespace=] [--config-env==]
            []
      . . .
     

интерфейс git

Кабина космического коробла как метафора сложности интерфейса гита

идеи git

История версий в сервисе Google Docs

Зачем?

История версий в сервисе Google Docs

проект


project
├── favicon.ico
├── images
│   ├── oiiaoiia.jpg
│   └── oiiaoiia.webp
└── index.html
    

DIY версионирование проектов

Project
Project
Project Final
Project
Project Final
Project Final Final
Project
Project Final
Project Final Final
Project
Project Final
Project Final Final
asljhaderka
Project
Project v1
Project v2
Project
zip
Project v1.zip
tar
Project v2.tar.gz
Project
zip
Демо 2025.05.12 .zip
tar
Защита 2025.05.13 .tar.gz

DIY Ретроспектива сохранения

  • Когда
  • Зачем
  • Кто
  • Какие в нём изменения

DIY Ретроспектива сохранения

  • Когда
  • Зачем
  • Кто
  • Какие в нём изменения

Первые SCM

Рецепт вафель

  • Творог
  • Яйца
  • Мука

Рецепт вафель

  • Творог
  • Яйца
  • Мука
  • Сахар

Рецепт вафель

  • Творог
  • Яйца
  • Мука
  • Сахар
  • Мак

Хранить всё

Творог Творог Творог
Яйца Яйца Яйца
Мука Мука Мука
Сахар Сахар
Мак

Хранить разницу

Творог
Яйца
Мука
+ Сахар
+ Мак

дорого

Хранить всё — диск

Хранить разницу — CPU

Что дороже?

VT100 terminal
Сервер Все изменения
Клиент Актаульная версия

Ветвление

параллельная разработка

слияние изменений

git


      project
      ├── favicon.ico
      ├── images
      │   ├── oiiaoiia.jpg
      │   └── oiiaoiia.webp
      └── index.html
    

      project
      ├── .git
      ├── favicon.ico
      ├── images
      │   ├── oiiaoiia.jpg
      │   └── oiiaoiia.webp
      └── index.html
    

      project
      ├── .git
      │   ├── branches
      │   ├── COMMIT_EDITMSG
      │   ├── config
      │   ├── description
      │   ├── FETCH_HEAD
      │   ├── HEAD
      │   ├── hooks
      │   ├── index
      │   ├── info
      │   ├── logs
      │   ├── objects
      │   ├── ORIG_HEAD
      │   └── refs
      ├── favicon.ico
      ├── images
      │   ├── oiiaoiia.jpg
      │   └── oiiaoiia.webp
      └── index.html
    

Изменения

Patch


From f1469e985d9da3adc927139af3ec813a2bc541a9 Mon Sep 17 00:00:00 2001
Date: Mon, 14 Apr 2025 11:55:55 +0300
Subject: [PATCH] make more unique

---
 recipe.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipe.md b/recipe.md
index 1fd0340..e63481c 100644
--- a/recipe.md
+++ b/recipe.md
@@ -2,3 +2,4 @@
 Яйца
 Мука
 Сахар
+Мак
--
2.48.1
    

Patch


From f1469e985d9da3adc927139af3ec813a2bc541a9 Mon Sep 17 00:00:00 2001
Date: Mon, 14 Apr 2025 11:55:55 +0300
Subject: [PATCH] make more unique

---
 recipe.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipe.md b/recipe.md
index 1fd0340..e63481c 100644
--- a/recipe.md
+++ b/recipe.md
@@ -2,3 +2,4 @@
 Яйца
 Мука
 Сахар
+Мак
--
2.48.1
    

remote

  • папка
  • ssh
  • http(s)

Терминал

VT100 terminal

Домашка

Q&A