Top Banner
Понимая Git /ɡɪt/ Git изнутри наружу Vadim Kormyzhenko @Comodo
19

Понимая Git /git/. Git изнутри наружу

Apr 16, 2017

Download

Technology

GDG Odessa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Понимая Git /git/. Git изнутри наружу

Понимая Git /ɡɪt/Git изнутри наружу

Vadim Kormyzhenko @Comodo

Page 2: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Использовать ≠ знать

Что общего между современным водителем и программистом

Page 3: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Контроль версий на архивах

плюсы● просто● быстро● кроссплатформенно

минусы● наименование● совместная работа● размер

Page 4: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Словарь

Git “нормальный язык”

commit архив

branch последовательность архивов

working directory каталог с исходниками

repository каталог с исходниками и архивами

remote repository бекап и/или каталог на сервере

git commands копирование файлов, архивирование...

Page 5: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Программисты и хипстеры

Page 6: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

История git и ядра Linux

● Вначале были архивы и письма

● Потом был BitKeeper

● Линус решил сделать свое

Page 7: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Git для математиков

Взято у https://prateekvjoshi.com/2014/08/30/git-fetch-vs-git-pull/

git намного легче понять, когда вы знакомы с простым пониманием, что бранчи это гомеоморфические эндофункторы, которые мапятся на субманифолды пространства Гилберта.

Page 8: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Git это те же архивы, но с графами

● Git = архивы + DAG коммитов + утилиты

● DAG = ориентированный ациклический

граф

● Утилиты = команды git = инструмент для

манипуляции графом

Page 9: Понимая Git /git/. 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

Page 10: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

ВеткиВетка это логическая последовательность коммитов

Имя ветки это просто псевдоним хеша коммита

Ветка стоит дешево – файл на 41 байт, по факту 2-3 кб

Page 11: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Структура репозитория

Page 12: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

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

Add, reset, checkout, commit это копирование

Page 13: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Push это также копирование

Page 14: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Cherry-pick

Взято у http://www.xda-developers.com/

Page 15: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Rebase - это несколько cherry-pick

Page 16: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

NOLI NOCERE

Page 17: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Если все пошло не так

Всегда полезно:

● архивируем

● git status

● git reflog

Не делать!

● git push

● git gc

Page 18: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Вопросы

Page 19: Понимая Git /git/. Git изнутри наружу

AgendaTopic 1

Topic 2

Subtopic 1

Topic 3

Thank you

Vadym@twitter+GooglePlus