Snowcrash
Snowcrash

Reputation: 86207

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.

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?

Upvotes: 3

Views: 109

Answers (1)

Max
Max

Reputation: 22355

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.

Upvotes: 5

Related Questions