Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Technically, @VonC is correct in saying that branches would be the way to go. </p> <p>There is a caveat though. You're mixing 2 different paradigms here. SCM (git is a tool) means managing source code and its different versions. </p> <p>Enabling/disabling product features is product management. Essentially, it boils down to development and deployment of your application.</p> <p>What you're trying to do is combine feature management of your product with version management. </p> <p>It is certainly doable (via SCM alone) and depending on your requirements, it may actually work well for you. </p> <p>However, over a period of time, you'll end up in a branching/merging soup. Not only will it increase time and effort to maintain and upkeep each branch (and keep the "main" and other "branches" in sync), it'll also be counterproductive as every time there is change or new feature, you spend more time on planning on how to keep your branches up-to-date than the actual feature. This gets compounded over time with new hires who have no prior knowledge of your branch management techniques and if you end up having distributed teams who might want to create their own branch for a variety of reasons.</p> <p>If I may suggest, keep one version of your application and implement a mechanism to enable/disable "features". This will make your SCM easier to understand, cleaner to implement and maintain. </p> <p>A middle ground is to have core branch for the core module and then each submodule or feature is its separate branch. Anyone can install core module and as per need/permission, they can go and install separate "features" from their respective branches.</p> <p>Hope this provides some clarity. If you have any questions, I'll be happy to elaborate on them.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload