Expand git repo

I’ve got some code that looks like this on the file system:


The code in A is contained in a git repo.

However, I now want to expand the repo to cover the entire code base (i.e. including 1.java which is 1 directory up).

I’ve got a feeling (having played around with submodules) that it’s not as easy as just init‘ing a git repo in the parent directory. Am I right? If so, how should I tackle this?

  • Rails - how to start up a local server (thin) with a specific git branch
  • Git bi-directional merging
  • Is it Possible to Create a git Repository from an SVN Log File?
  • how to end git difftool session (beyond compare )?
  • How to merge develop branch to master branch within SourceTree?
  • Filtering a diff with a regular expression
  • Is there a shortcut for git branch name?
  • Is there a git hook that will run after a branch delete?
  • One Solution collect form web for “Expand git repo”

    cd A
    mkdir A
    git mv -k * A/
    git commit -m "Expand git repo"
    cd ..
    mv A tmpA
    mv tmpA/{.git,A} ./
    rmdir tmpA

    In other words, do the reorg inside the repo, then just move everything up a directory. Git won’t know the difference because all of the filenames will match.

    The mv -k stops git from trying to move A/ into itself, which would be an error.

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