git in agile project - xp days ukraine 2011
TRANSCRIPT
www.akvelon.com.uaKharkov, UA
Git в Agile-проектах
Александр Коротких@alexkorotkikh
www.akvelon.com.ua
Disclaimer:Git ~ Hg ~ Bzr
www.akvelon.com.ua
Коротко о проекте• web-приложение на Java• американский заказчик, компания-разработчик ПО• scrumbutt• команда
у них - PO + SM у нас - tech lead, middle dev, 2 junior dev
• SVN
www.akvelon.com.ua
SVN?
www.akvelon.com.ua
git-svn• git svn clone http://svn.example.com/repo• git svn rebase• git svn dcommit
www.akvelon.com.ua
Code review
www.akvelon.com.ua
Code review
www.akvelon.com.ua
"Commit per feature" rule
www.akvelon.com.ua
"Commit per feature" rule (I)1. Большие задания
www.akvelon.com.ua
"Commit per feature" rule (II)2. Совместная работа надо одним заданием
www.akvelon.com.ua
Экспериментальный код
www.akvelon.com.ua
Экспериментальный код• Задача – не засорять trunk очень нестабильным кодом.• Решение – выполнять всю работу в локальной ветке.• Все изменения из транка легко вливаются в рабочую
ветку.• Наоборот – только по окончанию работы.
www.akvelon.com.ua
Поиск коммита – источника бага
www.akvelon.com.ua
Поиск коммита - источника бага• Задача – быстро найти код, который привёл к багу.• Проблема – этот код был написан давно.• Решение – бинарный поиск между точно хорошим и
точно плохим коммитом.
www.akvelon.com.ua
Поиск коммита - источника бага• Задача – быстро найти код, который привёл к багу.• Проблема – этот код был написан давно.• Решение – бинарный поиск между точно хорошим и
точно плохим коммитом.
• git bisect start• git bisect bad• git checkout HEAD~100• git bisect good• … good, bad, bad, good …
www.akvelon.com.ua
И в заключении...
www.akvelon.com.ua
Главный источник багов
И в заключении...
www.akvelon.com.ua
?
www.akvelon.com.ua
Спасибо за внимание!
@alexkorotkikhhttp://alexkorotkikh.com