{"id":398,"date":"2014-08-07T08:06:14","date_gmt":"2014-08-07T06:06:14","guid":{"rendered":"https:\/\/devpath.pro\/?p=398"},"modified":"2014-08-07T08:06:14","modified_gmt":"2014-08-07T06:06:14","slug":"branching-model-clean-up-those-repos","status":"publish","type":"post","link":"https:\/\/fabiocicerchia.it\/programming\/branching-model-clean-up-those-repos","title":{"rendered":"Branching Model: clean-up those repos"},"content":{"rendered":"\n

Usually, most rookie developers don’t use a VCS (Versioning Control System), like SVN<\/a>\u00a0or\u00a0GIT<\/a>, in this post I won’t talk about the benefits of using one. This post is dedicated to who are already using a VCS without using a branching model.<\/p>\n\n\n\n

So, what’s a branch? A branch is a\u00a0separate development line<\/strong>, where you or your team can work on to develop a single functionality or even an entire release. This line is separated from the rest in order not to mix unfinished functionalities and avoid to push them to the mainline or deploy them in production.<\/p>\n\n\n\n

\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n

The solution is having two or more distinct lines (aka branches) so your team can work on those lines of development without interfering with each other.<\/p>\n\n\n\n

\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n

The images above are referring to the\u00a0Git Flow<\/a>.<\/p>\n\n\n\n

Generally, common sense dictate to have the following branches:<\/p>\n\n\n\n