The editing timeline basically looks like this:
- Work on browser version, add new features, test, etc. Doing this in the browser allows me to work much more efficiently than compiling and testing in Xcode each time.
- End of week port entire thing to iOS framework, deploy to iPhone
- That day fix any problems in iOS port, try to consolidate code between the two as much as possible. This results in tweaks being done in both codebases and copies/pasted between each other that day
- Continue working on browser version until next port
Right now I use Git for version control, hosting my code on Github for the browser version of the game. I have a dev and master branch. I do not currently use version control for the iOS version at all because I do not know the best way to set this thing up. Should I maintain the entire iOS codebase including the framework in another branch of my main game repo? Should the iOS version be in its own repo? Ideally I'd be able to set it up so that I can just pull relevant files from the browser branch to the iOS branch when I'm testing the port (but sometimes parts of the code would need to be left out, as there are some differences required), then push necessary changes back to both the browser and iOS versions of my hosted code.
I'm not a Git expert and am just not sure what the best way is to go about this. Right now I mostly use it for keeping a main working version of the game in one branch and merging the development branch into it when experimental stuff gets finalised. Fiddling with two sets of code on these porting days is getting confusing and I'm finding myself making mistakes, plus wasting tons of time. Can anyone advise how one might manage this kind of thing better?