Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Разработка в команде: контроль версий, багтрекер, вики

Anton
November 14, 2017

Разработка в команде: контроль версий, багтрекер, вики

Anton

November 14, 2017
Tweet

More Decks by Anton

Other Decks in Education

Transcript

  1. Одна задача — одна карточка (тикет) • Заголовок • Подробное

    описание • Исполнитель • Лента комментариев • Дата начала, дата завершения • Текущий статус: новая, в работе, завершено, отклонено, ... • Метки: проблема, задача, новая фича, вопрос, ... • Прочие статусы
  2. Управление проектами • Карточки отражают сиюминутную текучку или долгосрочные задачи

    • Плоские карточки — поддержка клиентов • Можно выстраивать иерархии и горизонтальные связи: «зависит от», «связана с», ... • Распределение карточек по проектам • Отчеты • Диаграммы Ганта • Сетевое планирование
  3. Программные решения: веб-приложения • Ежедневник (вечная классика) • Bugzilla (олд-скул)

    • Redmine (суровая реальность) • Jira (хардкор для айтишников) • GitLab • github.com (онлайн-социалочка для хипстеров) • Bitbucket.com • ...
  4. Немного практики git • Репозиторий (отличие распределенной системы от централизованной)

    • Дерево версий • Редакции (правки - коммит): diff + комментарий • Бранчи (ветки) и теги (метки) — переключение веток разработки • Синхронизация с центральным репозиторием: push/pull (конфликты) • .gitignore: прямой путь (начинается с «/»), регулярные выражения «*» • каталог «.git» (просто есть в корне репозитория) • Дополнительно: форки, pull request
  5. Немного практики git • Git не хранит папки (только пути

    к файлам) • Git не хранит файлы (только дифы) • Git хранит объекты и дифы к ним
  6. Немного практики git: термины • master — бранч по умолчанию

    • указатель текущей точки — HEAD • имя удалённого (исходного / «центрального») репозитория — origin
  7. Стратегии ведения репозитория • Первый коммит — первоначальная база кода

    всей массой, • дальнейшие коммиты — тематические исправления (тикеты багтрекера) • коммитить в мастер (master) • помечать релизы тегами • боковые ответвления (побочные продукты и эксперименты) — бранчами
  8. Стратегия ведения репозитория: версии версии: x.y.z: • x — major:

    самая главная версия, много нового • y — minor: новая версия, новые возможности, можно немного поломать совместимость • z — patch: исправления с сохранением обратной совместимости пререлиз (pre-release): • x.y.0-alpha1,2,3 • x.y.0-beta1,2,3 • x.y.0-rc1,2,3
  9. Шпаргалка git на первое время • git clone https://github.com/sadr0b0t/babbler_h.git •

    git status • git diff [file] (выход: q) • git add . • git add file • git rm file • git mv src dest (или последовательно rm, add) • git commit -m «вся суть изменений»
  10. Шпаргалка git на первое время отменить git add для одного

    файла перед коммитом • git reset HEAD filename отменить все добавленные файлы • git reset отменить последний коммит: • git reset HEAD~
  11. Шпаргалка git на первое время посмотреть дерево репозитория • gitk

    --all удалить много файлов • git rm `git ls-files —deleted` • или git status и git rm [file] по-одному
  12. Сервисы онлайн • sourceforge.net (классика, svn, помним, любим издалека) •

    github.com (git+багтрекер, бесплатно — опенсурс, пропритарщина — подписка) • bitbucket.com (git+багтрекер, бесплатно — опенсурс, проприетарные мелкие проекты, большие проприетарные — подписка) • code.google.com (умерло, помянем) • GitLab на своём сервере
  13. Задания на спринт-2 • Завести репозиторий на github (или аналог)

    • Сделать коммит основной кодовой базы (скелет + первое мясо) • Завести тикеты на текущие задачи • Закрыть задачи с коммитами в git