X
X
XpeH Petrovich2014-11-25 14:21:49
git
XpeH Petrovich, 2014-11-25 14:21:49

How to build a Debian-like branching model with Git?

To be more precise, there is approximately the following picture. There are three servers - one local, two in the data center. Each developer creates his own local branch to solve a particular problem, on his workstation, respectively, experimental (pre-alpha) - this slightly breaks the picture of deb repositories, but the rest is similar, as far as I understand. Then we commit it to unstable(alpha), to a common local server, where we actively test the new feature, already collectively, by all developers. Then it gets either back for revision, or to the first server from the data center, also known as testing (beta). Accordingly, it is tested there by both users and us, responded for revision or sent by our major to production on a merge request, which is also of the stable type. The main question is the following - after reading git-scm (I have not reached the git community book yet), I didn't quite understand how to implement it. In a good way, these should be branches of the same turnip (more precisely, the last three stages of development, alpha / beta / release), but at the same time they are located on different servers. If you make them separate repositories and then merge alpha->beta->release, then I don’t understand at all how, for example, beta learns about commits in alpha .... people, please explain how best to do it, I’m completely confused) to be more precise, I don’t understand in which case the branching should be carried out, and in which another turnip should be created (plus you also have to take into account that there are thematic branches and branches by modules, it would be nice to somehow slap)
PS: I already read this, this discussion too.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
B
brutal_lobster, 2014-11-25
@uakoB

So why are you using multiple repositories? On the servers, in fact, only the application is launched?
Look at continuous integration, deployment pipelines, and more.
Use a central repository with processes a la gitflow . And to deploy the application of the desired branch to the required servers, use the CI system (jenkins, bamboo, ...)
Let the CI system track changes in the repositories, launch autotests on a new commit / pull request, and, upon approval, deploy anywhere.

P
Puma Thailand, 2014-11-26
@opium

I still don’t understand what you don’t like about three brats in the gita? Git doesn’t care if they are on the same server or on 10, he’s also his sleepy feature of decentralization.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question