Git Branching Strategy for Web Development

There is no doubt at this point that Git is a successful version control system. GitHub is, so far as I can tell, the most popular place to host open source code. There are several popular software programs for managing Git and two very popular Git branching strategies.

Each of the two most popular branching strategies that have I seen does a great job of solving the problem for which it was created. GitHub Flow is great for open source projects. The basic idea is that work is done via cloning and merge requests.

[More]

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Very interesting, Steve. I like the idea of directly named "server branches", rather than carrying the association between master > production and develop > dev/testing in your head. Makes things really clear.

I'm slightly confused by the references to "master" in your description though. Do you not name it "Production" or "Live"?

Are you still using SmartGit by the way?
# Posted By Julian Halliwell | 11/13/15 2:50 AM
Julian,

Thanks. We've found that this allows us to have our clients able to review multiple projects at once and still take each live on their own when they are ready.

I don't name it "Production" or "Live". That would make sense in isolation, but naming it "master" keeps everything consistent with the way most people use Git. A newcomer to our process could come in an understand most branches right away.

I am still using SmartGit and I love it. I'll try to blog more about it soon.
# Posted By Steve Bryant | 11/16/15 10:58 AM
Hi Steve,

thanks a lot for this post. While considering Git Web Flow for our branching strategy, two questions came up, maybe you can help us out

1. How do you manage to keep your feature branches up with releases that happened in the meantime? I assume you have to merge the changes in master back to the feature branches still in development at that time?

2. I would expect the staging branches to grow apart quite noticebly over time. Say, some features never make it to master and thinks like that. Has that happened to you? And how did you manage that? Maybe with regulare resets to all stages from master?

Thanks a lot!

Cheers
Thomas
# Posted By Thomas | 3/15/18 9:00 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.