Понимая Git /git/. Git изнутри наружу
-
Upload
gdg-odessa -
Category
Technology
-
view
204 -
download
6
Transcript of Понимая Git /git/. Git изнутри наружу
Понимая Git /ɡɪt/Git изнутри наружу
Vadim Kormyzhenko @Comodo
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Использовать ≠ знать
Что общего между современным водителем и программистом
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Контроль версий на архивах
плюсы● просто● быстро● кроссплатформенно
минусы● наименование● совместная работа● размер
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Словарь
Git “нормальный язык”
commit архив
branch последовательность архивов
working directory каталог с исходниками
repository каталог с исходниками и архивами
remote repository бекап и/или каталог на сервере
git commands копирование файлов, архивирование...
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Программисты и хипстеры
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
История git и ядра Linux
● Вначале были архивы и письма
● Потом был BitKeeper
● Линус решил сделать свое
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Git для математиков
Взято у https://prateekvjoshi.com/2014/08/30/git-fetch-vs-git-pull/
git намного легче понять, когда вы знакомы с простым пониманием, что бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Git это те же архивы, но с графами
● Git = архивы + DAG коммитов + утилиты
● DAG = ориентированный ациклический
граф
● Утилиты = команды git = инструмент для
манипуляции графом
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Внутренности коммита
Коммит это инкрементальный архив
Коммит состоит из:
● измененных файлов-архивов
● дерева
● собственно коммита
взято у http://zzet.org/git/learning/undev/coursify/2014/02/09/lection-2-git-course-undev.html
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
ВеткиВетка это логическая последовательность коммитов
Имя ветки это просто псевдоним хеша коммита
Ветка стоит дешево – файл на 41 байт, по факту 2-3 кб
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Структура репозитория
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Просто копирование
Add, reset, checkout, commit это копирование
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Push это также копирование
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Cherry-pick
Взято у http://www.xda-developers.com/
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Rebase - это несколько cherry-pick
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
NOLI NOCERE
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Если все пошло не так
Всегда полезно:
● архивируем
● git status
● git reflog
Не делать!
● git push
● git gc
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Вопросы
AgendaTopic 1
Topic 2
Subtopic 1
Topic 3
Thank you
Vadym@twitter+GooglePlus