Is it possible to manage multiple repositories coherently?

I have a collection of git repositories that are independently versioned but related to one another. For example, when adding a feature I may have to add functionality to a shared library, and then extend an application or service to take advantage of that functionality.

Currently, I would have to create a branch on each of the repositories that I touch while working on that feature. What I would like to do, however, is to simplify the process by branching and merging those multiple repositories at once (to reduce the likelihood of forgetting to branch, or committing/merging in one repository but not another).

  • Rename Git branch folder
  • Rails local asset:precompile - is there an automated way to check for changes?
  • Gitblit: Bad Request when navigate to a second-level folder
  • On conflict, GitHub for Windows puts me in “rebasing” state, how to go from there?
  • git push returns “fatal: protocol error: bad line length character”
  • Can I undo a `git clean -fdx`?
  • Is there a simple way to branch and merge multiple repositories at once, or is this a task better suited for a collection of helper scripts? If the latter, are there any scripts available that already accomplish this?

  • Git Commit policy in TFS
  • Using Source Tree, rebase with conflict, rebase doesn't work after conflict resovled
  • Issue while trying to open a Maven project via Git in Eclipse Luna
  • VisualStudio RC 2017 Git integration
  • Magento upgrading with Git
  • Git says that some of my image files are untracked (they are not)
  • 4 Solutions collect form web for “Is it possible to manage multiple repositories coherently?”

    There isn’t a built-in way to deal with multiple repositories at once, and if you think about the distributed nature of git, there really isn’t anything but social convention that can define that. (Consider, what if someone pulls from you in one repository, but another remote for the second – can you have this coherence?)

    You might find a tool like mr, which works with multiple repositories at the same time, helpful.

    If you really have things that are tied that tightly, though, I would advise you to put them into one repository. That way you can’t forget any of the steps, because they happen in one atomic operation.

    If your code isn’t actually that tightly tied together, though, then give up the “must branch at exactly the same time” notion and you will be happier.

    You can use the repo tool: http://source.android.com/source/version-control.html

    • set the same branch on multiple projects
    • view state of multiple repositories (branches, unmerged commits) with one command
    • manage a set of repositories (clone, sync, etc) with manifest files
    • lots of other cool stuff

    Also, take a look at: https://github.com/fabioz/mu-repo — it’s a tool such as mr and repo as I couldn’t get one of those to work as I needed 🙂

    Just as an idea. I haven’t tried this by myself, but I came across this feature some time ago.
    Try to add all the wanted repositories as submodule to a new “root” repository and use the following command

    git submodule foreach --recursive <command>
    

    You may consult the help for this and how to deal with submodules. You can use whatever command you want. git and non-git commands.

    Git Baby is a git and github fan, let's start git clone.