$30 off During Our Annual Pro Sale. View Details »

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. flow
    Gabriel Zigolis

    View Slide

  2. 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/

    View Slide

  3. CLI
    GIT FLOW PROVIDES EXCELLENT COMMAND LINE HELP AND
    OUTPUT. READ IT CAREFULLY TO SEE WHAT'S HAPPENING...

    View Slide

  4. GUI
    THE OSX/WINDOWS CLIENT SOURCETREE IS AN EXCELLENT GIT
    GUI AND PROVIDES GIT-FLOW SUPPORT.

    View Slide

  5. 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

    View Slide

  6. 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:

    View Slide

  7. 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.

    View Slide

  8. PUBLISH A FEATURE
    $ GIT FLOW FEATURE PUBLISH MYFEATURE
    PUBLISH A FEATURE TO THE REMOTE SERVER SO IT CAN
    BE USED BY OTHER USERS.

    View Slide

  9. 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

    View Slide

  10. 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.

    View Slide

  11. 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.

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. 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.

    View Slide

  16. View Slide