I'm developing an Android application and have been using Git throughout the entire development cycle. I've now come to a point where I would like to build and release experimental features for people to try out and install, while still having the original, stable, application installed on their devices.
Now, this means I need to use a different package-name, which changes a few fundamental files in the development-project. I'd also like to have a separate icon to clearly differentiate the applications.
I'm not used to Git enough to know which way to take here: Should I create an experimental branch which I branch off of when I want to make some lab-work or do I keep this experimental work as a separate git-repo?
I have a couple of problems with the actual flow of going either way.
- If I make an experimental branch, I don't want to (mistakenly?) merge the changes of the package names and the clearly separating experimental details with the master branch; I only want to merge the working parts of the code, without the extra added modification.
- If I make a separate repo, how do I merge the changes from experimental repo to master repo, considering the same wish to not replace ie. package names and icons?