Expand git repo

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

1.java
A/a.java

The code in A is contained in a git repo.

  • Cygwin git shows already committed changes
  • Verify changes in git modules
  • 'git pull' is setting 664 instead of 644 permissions
  • git: how to merge a file manually when git does not notice conflicts
  • How do I add autocomplete to git aliases?
  • exit code from windows console app not available in git hook script
  • 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?

  • How to use the new CredentialsProvider in LibGit2Sharp?
  • Code formatting before commit to GIT
  • Git credential helper causes “repository not found” error?
  • Git: how to return to a past commit to start a branch keeping all commits?
  • git commits into html filr through jenkins
  • How to install a plugin from github?
  • 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.