I have to work on a cross-platform project that runs on desktop, mobile and web. The problem is that there are some differences between the web application and desktop/mobile. Some features are develop for the web application only and some for the desktop/mobile only.
How can I handle this problem with my VCS (git in this case).
I just have the idea of creating two different master branches, one for the web part and one for the mobile/desktop, but I don't like it.
Can someone help me?
Thanks.
I wouldn't use branches to store the different versions of your application.
Long-running branches tend to diverge over time, making it increasingly difficult to keep the shared portions of the application in sync, while taking into account the differences made for specific platforms. In short, that way lies merge hell.
Instead, I would look for solutions at the architectural level. Maybe you can implement the core functionality of the application as a shared library or a web API, and have different GUIs consume it? Another solution could be to use feature toggles to create different configurations based on the same code base.