Top Banner
Game Programming Git Flow Nick Prühs

Game Programming 03 - Git Flow

Jun 13, 2015



Nick Prühs

Chapter 3 of the lecture Game Programming taught at HAW Hamburg.

Introduction to the Git branching model developed by Vincent Driessen.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
  • 1. Game ProgrammingGitFlowNick Prhs

2. ObjectivesTo understand how to develop separate features without interfering with other team membersTo get an idea of how to prepare a new release using a dedicated branchTo learn how to integrate hotfixes in live environments2 / 17 3. GitFlowOriginally developed by Vincent DriessenAssigns very specific roles to different branches, and defines how and when they should interactAllows merging and branching to be part of your daily workflow3 / 17 4. Main Branchesmasterorigin/masterHEAD is always ready for productiondeveloporigin/developHEAD always contains the latest delivered development changesNightly builds are created from this branchWhenever considered stable, merged back into masterand tagged4 / 17 5. Main Branches5 / 17 6. Supporting branchesFeature branchesAllow parallel developmentMake tracking features easierRelease branchesHelp preparing for releasesHotfix branchesEnable you to quickly fix live problems6 / 17 7. Feature BranchesBranch from and merge back into developUsed for developing new featuresExists while the feature is in developmentWill eventually beMerged back, to include the new feature in the next release, orDiscarded, if the feature should not be includedNever directly interact with the masterbranch7 / 17 8. Feature Branches8 / 17 9. HintMergingwiththenofast-forward optioncausesthemergetoalwayscreateanewcommit.Thismakestrackingofyourbranchesaloteasier!9 / 17 10. Release BranchesBranch from develop, and merge back into develop andmasterCreated when all desired features for the next release have been merged back into developSupports preparation of a new production releaseSetting up meta-data such as version numbers or database connectionsGenerating API documentationFeatures for the next release can already merge back into develop10 / 17 11. Release Branches11 / 17 12. HintWheneverchangesaremergedbackintomaster,thisisanewproductionreleasebydefinition!12 / 17 13. Hotfix BranchesBranch from master, and merge back into develop andmasterCreated when a critical bug in a production release has to be resolved immediatelyOther team members can continue working on new features or the next release13 / 17 14. Hotfix Branches14 / 17 15. HintUnlikethetwomainbranches,allsupportingbrancheswillbemergedandremovedeventually!15 / 17 16. ReferencesVincent Driessen. A successful Gitbranchinmodel. model/, January 5, 2010.Atlassian. GitflowWorkflow.!workflow-gitflow, June 2014.16 / 17 17. Thankyouforyourattention!ContactMaildev@npruehs.deBloghttp://www.npruehs.deTwitter@npruehsGithub / 17