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

Git in "Mobile" teams

Git in "Mobile" teams

Sigma Software Mobile Devs Meetup

Andrey Moskvin

February 03, 2016
Tweet

More Decks by Andrey Moskvin

Other Decks in Programming

Transcript

  1. GIT FLOWS HISTORY ▸ GIT FLOW - January 05, 2010

    by Vincent Driessen ▸ GITHUB FLOW - August 31, 2011 by Scott Chacon
  2. GIT FLOW #1 GIT FLOW ▸ Strategy:
 - Main branches

    - master, develop
 - Feature, release, hot-fix branches ▸ Features:
 - Designed for long releases
 - Full set of rules for all cases
 - BASH helper script ▸ Problems:
 - Complex workflow
  3. GIT FLOW #2 GITHUB FLOW ▸ Strategy:
 - Main branch

    - master
 - Feature branch
 - Tags as releases ▸ Features:
 - master branch is ALWAYS stable
 - Very efficient with culture of shipping (tests, code review) ▸ Problems
 - Release management, support of several releases (not a case for mobile apps)
  4. WHAT WE SUGGEST GITHUB FLOW + REBASE + SQUASH ▸

    For teams that are small. ▸ For projects that are:
 - Feature-driven. Features are small (days but not weeks). 
 - Could be released often. ▸ For those who want to have a full control on repository. ▸ “You are responsible for code that you write”.
 

  5. GOALS OUR GOALS ▸ Feature branch totally belongs to the

    person who created it and works in it. So code reviewer checks only this person’s code without merge commits from other developers. ▸ Clean and “easy-to-navigate” history. ▸ Pull requests. ▸ “Release early, release often”. Tight feedback loop. ▸ Tag is a release. No separate branch.
  6. GIT REBASE GIT REBASE ▸ Rebase your feature branch with

    changes from master. ▸ There is only yours changes in branch. ▸ Never push —force master branch. ▸ TIP: Interactive rebase (Default editor (VIM) could be changed to Atom, Sublime so on).
  7. STEP #1 WHEN YOUR PULL REQUEST WAS APPROVED ▸ Open

    Terminal, begin interactive rebase

  8. LINKS ▸ Git Flow (http://nvie.com/posts/a-successful-git-branching-model/) ▸ GitHub Flow (http://scottchacon.com/2011/08/31/github- flow.html)

    ▸ GitLab Flow (https://about.gitlab.com/2014/09/29/gitlab-flow/ ) ▸ GitUp (http://gitup.co) ▸ Rebase (https://habrahabr.ru/post/161009/) ▸ Nice commit message style (http://tbaggery.com/2008/04/19/a- note-about-git-commit-messages.html)
  9. THAT’S ALL FOLKS! THATS ALL! THANK YOU FOR ATTENTION. P.S.

    Thanks Alexey Demedeckiy (@DAloog) for help in preparing this materia