git in agile project - xp days ukraine 2011

19
www.akvelon.com.ua Kharkov, UA Git в Agile-проектах Александр Коротких @alexkorotkikh

Upload: alexander-korotkikh

Post on 26-May-2015

733 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.uaKharkov, UA

Git в Agile-проектах

Александр Коротких@alexkorotkikh

Page 2: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Disclaimer:Git ~ Hg ~ Bzr

Page 3: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Коротко о проекте• web-приложение на Java• американский заказчик, компания-разработчик ПО• scrumbutt• команда

у них - PO + SM у нас - tech lead, middle dev, 2 junior dev

• SVN

Page 4: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

SVN?

Page 5: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

git-svn• git svn clone http://svn.example.com/repo• git svn rebase• git svn dcommit

Page 6: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Code review

Page 7: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Code review

Page 8: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

"Commit per feature" rule

Page 9: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

"Commit per feature" rule (I)1. Большие задания

Page 10: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

"Commit per feature" rule (II)2. Совместная работа надо одним заданием

Page 11: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Экспериментальный код

Page 12: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Экспериментальный код• Задача – не засорять trunk очень нестабильным кодом.• Решение – выполнять всю работу в локальной ветке.• Все изменения из транка легко вливаются в рабочую

ветку.• Наоборот – только по окончанию работы.

Page 13: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Поиск коммита – источника бага

Page 14: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Поиск коммита - источника бага• Задача – быстро найти код, который привёл к багу.• Проблема – этот код был написан давно.• Решение – бинарный поиск между точно хорошим и

точно плохим коммитом.

Page 15: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Поиск коммита - источника бага• Задача – быстро найти код, который привёл к багу.• Проблема – этот код был написан давно.• Решение – бинарный поиск между точно хорошим и

точно плохим коммитом.

• git bisect start• git bisect bad• git checkout HEAD~100• git bisect good• … good, bad, bad, good …

Page 16: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

И в заключении...

Page 17: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Главный источник багов

И в заключении...

Page 18: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

?

Page 19: Git in Agile project - XP Days Ukraine 2011

www.akvelon.com.ua

Спасибо за внимание!

@alexkorotkikhhttp://alexkorotkikh.com