Download - Черная и белая магия Git (мастер-класс)
Черная и белая магия Git
Application Developers Days 4 13 декабря 2013г
Выговский Леонидvygovskiy.com
НТЦ «Аргус» argustelecom.ru
13 декабря 2013г. Черная и белая магия Git 2 из 29
Git — система для богов?
13 декабря 2013г. Черная и белая магия Git 3 из 29
Фарфор и ...
http://legacy.edenspiekermann.com/projects/hering-web
13 декабря 2013г. Черная и белая магия Git 4 из 29
… и сантехника
http://www.flickr.com/photos/cgt/4592048715
13 декабря 2013г. Черная и белая магия Git 5 из 29
Файловая система
Stage area
Локальный репозиторий
Удаленный репозиторий
13 декабря 2013г. Черная и белая магия Git 6 из 29
Репозиторий Gittree 68782cedc
100644 blob 259f9e .gitignore
040000 tree 9aa10b documents
100755 blob 4152a1 build.sh
040000 tree 07a876 source
100644 blob 9bb0b0
040000 tree a82735
100755 blob 809d5c
13 декабря 2013г. Черная и белая магия Git 7 из 29
демонстрация
13 декабря 2013г. Черная и белая магия Git 8 из 29
История коммитов
commit a4a878
tree 81ebe3
commit be97d6
tree 9769f8 tree 68782ctree 68782c
commit d67882
commit c782c
13 декабря 2013г. Черная и белая магия Git 9 из 29
Ссылки
commit a4a878
commit be97d6
commit d67882
commit c782c
tag 2.0
stable
ver_2.1
master
HEAD
13 декабря 2013г. Черная и белая магия Git 10 из 29
Относительные ссылки
cmt a4a878 cmt be97d6 cmt d67882
cmt c782c
HEAD
cmt e8f6b
cmt d67882
HEAD~1^2
HEAD~1HEAD~2HEAD~3HEAD^1^1
HEAD^^3
13 декабря 2013г. Черная и белая магия Git 11 из 29
демонстрация
13 декабря 2013г. Черная и белая магия Git 12 из 29
Три состояния Git
Текущеедерево
.git/objects/
Следующеедерево
.git/index
РабочееДерево
HEAD Индекс Файлы
Последнийкоммит
Следующийкоммит
Текущие изменения
13 декабря 2013г. Черная и белая магия Git 13 из 29
демонстрация
13 декабря 2013г. Черная и белая магия Git 14 из 29
Откат коммитов
Последнийкоммит
Следующийкоммит
Текущиеизменения
reset --soft
reset [--mixed]
reset --hard
checkout
HEAD ФайлыИндекс
Да Нет Нет
Да Да Нет
Да Да Да
Да (ветка) Да Да
Возможна потеря данных только при reset --hard
13 декабря 2013г. Черная и белая магия Git 15 из 29
демонстрация
13 декабря 2013г. Черная и белая магия Git 16 из 29
когда что-то пошло не так...http://www.genickbruch.com/vb/showthread.php?t=42411
13 декабря 2013г. Черная и белая магия Git 17 из 29
Используй reflog!http://www.ghostvolta.com/e3hulk-hogans-main-events/
13 декабря 2013г. Черная и белая магия Git 18 из 29
демонстрация
13 декабря 2013г. Черная и белая магия Git 19 из 29
черная магияhttp://photographers.com.ua/photo/koldunjya-256487/
13 декабря 2013г. Черная и белая магия Git 20 из 29
Эти операции меняют хэши коммитов!
git rebase -i git filter-branch
Настройка коммитов Наведение порядка
13 декабря 2013г. Черная и белая магия Git 21 из 29
демонстрация
13 декабря 2013г. Черная и белая магия Git 22 из 29
-f — смертельный ингредиент
http://barbatos.ru/215-religiya-indejtsev-majya-chast-4.html
13 декабря 2013г. Черная и белая магия Git 23 из 29
белая магияhttp://barbatos.ru/215-religiya-indejtsev-majya-chast-4.html
13 декабря 2013г. Черная и белая магия Git 24 из 29
слияние (merge)http://turizm.lib.ru/img/n/nowak_anatolij_wladimirowich/action/
13 декабря 2013г. Черная и белая магия Git 25 из 29
Красивая история
A vova
B vova
C igor
D vova
B vova
C igor
D vova
A vova merge
B vova merge
C igor merge
D vova merge
git
pu
ll -r
eba
se
git p
ull [
me
rge
]
13 декабря 2013г. Черная и белая магия Git 26 из 29
заметки на коммитахhttp://commons.wikimedia.org/wiki/File:Sticky_notes_on_the_wall_of_the_Wikimedia_Foundation_office,_2010-10-26.jpg
13 декабря 2013г. Черная и белая магия Git 27 из 29
Заметки на коммитах
commit a4a878 commit d67882commit c782c
Важнаязаметка
Простозаметка
Кто здесь?
13 декабря 2013г. Черная и белая магия Git 28 из 29
аттрибутыhttp://www.stanleyandkatrina.com/2013/09/word-of-week-katrina-von-cat-master-of.html
13 декабря 2013г. Черная и белая магия Git 29 из 29
A
B
D
E
F
0
98
7
6
5
C