{"id":1985,"date":"2011-04-27T16:31:09","date_gmt":"2011-04-27T19:31:09","guid":{"rendered":"http:\/\/blog.plataformatec.com.br\/?p=1985"},"modified":"2016-09-28T10:31:14","modified_gmt":"2016-09-28T13:31:14","slug":"a-successful-git-branching-model","status":"publish","type":"post","link":"https:\/\/blog.plataformatec.com.br\/2011\/04\/a-successful-git-branching-model\/","title":{"rendered":"A (successful) git branching model"},"content":{"rendered":"

*This blog post tells about how we improved a VCS workflow to another one that suited our and the consumer needs. It was a great result: we minimized the chances of occurring one of the worst problems for a developer in a project: big integration while we maintained an ‘almost releasable branch’ all the time<\/em><\/p>\n

In the last months we’ve been working on a project with a mixed development team (Plataformatec’s team and the customer’s team). We, of course, used a version control system (specifically git) and we set up a nice git branching model for our team. As agilists, we know that we should not use anything that requires a lot of bureaucracy (things like opening a ticket to integrate a branch into the trunk).<\/p>\n

Using nvie guide<\/a> as base, we developed a git workflow. First of all, we had three main branches:<\/p>\n