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

More Related Content

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

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