🌍
English
This is an old revision of the document!
This is a work in progress, all concepts exposed here are susceptible.
On Piwigo we typically have two active branches:
master
holds the main source code with features for the next major version2.7
(in instance) holds the source code of the current major version, only bug fixes and minor features are pushed to this branch
As the SVN concept of branches is very loose we used to develop either on master
or 2.7
and then merge specific commits to the other branch if needed. This concept is totally applicable in Git, it's called cherry pick.
But this is not how Git is supposed to work. Git tends to track every changes, and links them to others, and because cherry pick basically forge a new commit from another one, a part of the history is lost.
First of all I advise your to read this excellent article which became a reference: A successful Git branching model.