How to organize related applications in git repo?

What is the decision tree to know when to break up a set of related and / or connected applications into git repos and / or branches? Should I store each application in a repo? Or all applications and dependencies in one repo? Or something in between?

answer How to organize several related applications using git? claims that a repository for each project is appropriate, but does not give clues as to what the project will be.

And then the question arises about dev, test, integration tests and production checks when splitting the git repository. Answer how you organize your programming work , some branch / tag parameters are listed, but the details of several applications are ignored.

There is also a DB schema! incremental schema definition helps, but then again, where can this definition be saved if the database spans the internal and external application?

Some examples that I have been thinking about:

  • external web application and its internal CGI / DB: one repo or two?
  • a set of web back-ends that use functions from other back-end
  • a set of front-end applications that share CSS and jquery plugins
  • selenium scripts that test interface functions through dependent code - in the application repository on the input side or in the dependent code repo?

If I want to work with one application, it is difficult (well, tedious and error-prone) to check the repo directory, so I need to check the whole git tree (or at least clone the whole tree), so it is understood that git was not created for storing all applications and dependencies in one tree.

But if I want to save each of the projects (applications, frameworks, dependencies, doc trees, CSS) in my own repo, then I am in pursuit of the tail to resolve dependencies, that is, I do not know which version of each application is compatible. I think git tags are a good way if I could move them to newer versions that support compatibility.

- - git git? , , .

, , .

, - ?

+4
1

: , , ( , ).
, ( db , " Rails db/schema.rb GIT?". , schema.rb GIT? ", )

. . " git.
, : "X Y: ?".
, , : reset .

, ( " " , , subtree, .

+1

All Articles