Firstly, let me introduce general architecture of a project.

It is an *hierarchical*. We develop server application for our customers. 
It is stored on *main server*.

Say, *local server 1*, *local server 2*, ..., *local server n* are the 
servers (main application instances) in different companies. Each company 
has one local server. Mostly all local servers have the same functionality 
(say, core module), but each company *can have it's own*. As an idea it was 
decided to solve this problem via *git branching*.

Let's consider some cases.

*Case 1*
One company (*local server x*) wants some specific feature that is needed 
only in that company. Following the logic our of idea of branches we do the 
following steps:

   1. create git branch on *main server*
   2. develop needed functionality for that server
   3. create git branch (*branch y*) on *local server x*
   4. push changes to *main server*
   5. switch *branch y* on *local server x*
   6. switch to *master branch* on *main server*

*Case 2*
We developed some functionality (changes in *core module*) that is common 
to all companies

*Case 3*
We developed some functionality that is common only to some companies

Want to hear your advises about how to solve "*Case 2*" and "*Case 3*".

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/git-users/-/TtwTNbfYdTUJ.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to