Cordova and Git

Cordova repositories have a main development branch, master.

There are also one or more long-lived branches, named after a minor revision, eg. 2.7.x. Tags on these release branches will identify individual releases and release candidates:

Currently there is also a 3.0.0 branch, where porting to the new style of separated, cross-platform plugins is underway.

Transient topic branches for collaborating on features, or for code-review purposes, may exist from time to time.

At the start of a new release, master is forked to become 2.8.x. Testing is performed, and a release candidate is tagged on the branch.

No merges are performed between 2.8.x and master, in either direction, ever. It makes a mess of the history.

Instead, all new changes should be committed to master, and then cherry-picked into 2.8.x if, and only if, they are bugfixes to release-blocking bugs. Otherwise they should wait in master for the next release.

Don't merge between the branches. Don't do it.