How to commit a git repo into a git repo (not submodule)

When I try to add and commit a git repository into another git repository, git helpfully makes it into a submodule. What if I want to track and commit changes to that nested repository in the outer repo? I.e. I want the outer repository to track all the files in the nested repo’s working tree as well as its .git directory.

The use case here is that I want to maintain a git repository of my whole “projects” directory (many of which use git or another VCS) for versioned backups, as well as statistics collection. Going to a particular commit in the outer repo should show me the complete state of all projects at that time, including e.g. commits that may later have been rebased into oblivion.

  • Daily and weekly backup strategies
  • restore all refs from git bundle
  • GitHub: “Some uncommitted changes would be over written by syncing”
  • How to backup a local Git repository?
  • Tips for using CVS or Subversion as a backup framework for office documents
  • Automatically synchronising to remote git repository
  • Deleting remote branches in git: understanding it once and for all
  • Remote anonymous access to repository denied?
  • How to change the GitHub repository from which my repository was forked?
  • Editing the previous commit messages in Git using GUI
  • Code Promotion with Git
  • Pip doesn't install packages to activated virtualenv, ignores requirements.txt
  • One Solution collect form web for “How to commit a git repo into a git repo (not submodule)”

    Not possible.

    After researching this further I found the answer is unfortunately that it is not possible. Git is hardcoded to ignore nested git repositories and cannot be told to index them.

    The most common git-like suggestion for the backup use case is bup, which seems fine for that use case alone, but can’t seem to do all that git can stats-wise.

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