DrupalCamp London: What is Git Flow?

Here are my slides from my "What is Git Flow?" session at DrupalCamp London.

Takeaways

The main takeaways are:

Git Flow adds various commands into Git to enhance its native functionality, which creates a branching model to separate your stable production code from your unstable development code.

Never commit directly to the master branch - this is for production code only!

You can commit directly to the develop branch, but this should be done sparingly.

Use feature branches as much as possible - one per feature, user story or bug.

Commit early and often, and push to a remote often to encourage collaboration as well as to provide a backup of your code.

You can use settings within services like GitHub and Bitbucket to only allow certain users to push to the master and develop branches, and restrict other Developers to only commit and push to feature branches. Changes can then be committed and pushed, then reviewed as part of a peer code review, and merged back into the develop branch.

Feedback

If you've got any questions, please feel free to tweet at me or fill in the session evaluation form that you can complete on the DrupalCamp London website.

I've had some great feedback via Twitter:

@opdavies @DrupalCampLDN always had trouble with git. Your talk + Git flow has made it all very easy.

— James Tombs (@jtombs) March 2, 2014

Great presentation by @opdavies on git flow at #dclondon very well prepared and presented. pic.twitter.com/tDINp2Nsbn

— Greg Franklin (@gfranklin) March 2, 2014

Great talk on git flow @opdavies #dclondon

— Curve Agency (@CurveAgency) March 2, 2014