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

git flow

git flow

Gabriel Zigolis' presentation about how to use git flow

Gabriel Zigolis

October 20, 2015
Tweet

More Decks by Gabriel Zigolis

Other Decks in Technology

Transcript

  1. GIT-FLOW GIT-FLOW ARE A SET OF GIT EXTENSIONS TO PROVIDE

    HIGH- LEVEL REPOSITORY OPERATIONS FOR VINCENT DRIESSEN'S BRANCHING MODEL. HTTP://DANIELKUMMER.GITHUB.IO/GIT-FLOW-CHEATSHEET/
  2. CLI GIT FLOW PROVIDES EXCELLENT COMMAND LINE HELP AND OUTPUT.

    READ IT CAREFULLY TO SEE WHAT'S HAPPENING...
  3. SETUP YOU NEED A WORKING GIT INSTALLATION AS PREREQUISITE. $

    BREW INSTALL GIT-FLOW $ APT-GET INSTALL GIT-FLOW OSX LINUX $ WGET -Q -O - --NO-CHECK-CERTIFICATE HTTPS://GITHUB.COM/NVIE/GITFLOW/RAW/ DEVELOP/CONTRIB/GITFLOW-INSTALLER.SH | BASH BADWINDOWS
  4. GETTING STARTED YOU'LL HAVE TO ANSWER A FEW QUESTIONS REGARDING

    THE NAMING CONVENTIONS. $ GIT FLOW INIT START USING GIT-FLOW BY INITIALIZING IT INSIDE AN EXISTING GIT REPOSITORY:
  5. START A NEW FEATURE THIS ACTION CREATES A NEW FEATURE

    BRANCH BASED ON 'DEVELOP' AND SWITCHES TO IT. $ GIT FLOW FEATURE START MYFEATURE DEVELOPMENT OF NEW FEATURES STARTING FROM THE 'DEVELOP' BRANCH.
  6. PUBLISH A FEATURE $ GIT FLOW FEATURE PUBLISH MYFEATURE PUBLISH

    A FEATURE TO THE REMOTE SERVER SO IT CAN BE USED BY OTHER USERS.
  7. FINISH UP A FEATURE *MERGED MYFEATURE INTO ‘DEVELOP' / *REMOVES

    THE FEATURE BRANCH / *SWITCHES BACK TO 'DEVELOP' BRANCH $ GIT FLOW FEATURE FINISH MYFEATURE FINISH THE DEVELOPMENT OF A FEATURE. THIS ACTION PERFORMS THE FOLLOWING. $ GIT PUSH ORIGIN :FEATURE/MYFEATURE
  8. START A RELEASE YOU CAN OPTIONALLY SUPPLY A [BASE] COMMIT

    SHA-1 HASH TO START THE RELEASE FROM. $ GIT FLOW RELEASE START MYRELEASE USE THE GIT FLOW RELEASE COMMAND. IT CREATES A RELEASE BRANCH CREATED FROM THE 'DEVELOP' BRANCH.
  9. PUBLISH A RELEASE $ GIT FLOW RELEASE PUBLISH MYRELEASE IT'S

    WISE TO PUBLISH THE RELEASE BRANCH AFTER CREATING IT TO ALLOW RELEASE COMMITS BY OTHER DEVELOPERS.
  10. FINISH UP A RELEASE DON'T FORGET TO PUSH YOUR TAGS

    WITH GIT PUSH --TAGS $ GIT FLOW RELEASE FINISH MYRELEASE FINISHING A RELEASE IS ONE OF THE BIG STEPS IN GIT BRANCHING. $ GIT PUSH ORIGIN :RELEASE/MYRELEASE
  11. FINISH UP A RELEASE - MERGES THE RELEASE BRANCH BACK

    INTO 'MASTER' - TAGS THE RELEASE WITH ITS NAME - BACK-MERGES THE RELEASE INTO 'DEVELOP' - REMOVES THE RELEASE BRANCH
  12. START A HOTFIX THE VERSION ARGUMENT HEREBY MARKS THE NEW

    HOTFIX RELEASE NAME. $ GIT FLOW HOTFIX START MYHOTFIX LIKE THE OTHER GIT FLOW COMMANDS, A HOTFIX IS STARTED WITH
  13. FINISH UP A HOTFIX $ GIT FLOW HOTFIX FINISH MYHOTFIX

    BY FINISHING A HOTFIX IT GETS MERGED BACK INTO DEVELOP AND MASTER. ADDITIONALLY THE MASTER MERGE IS TAGGED WITH THE HOTFIX VERSION.