Skip to content

Instantly share code, notes, and snippets.

@zeroows
Forked from ryaninvents/unsubmodule.md
Created September 3, 2023 09:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeroows/2e1b305ac5a7f71b685e971553a0696e to your computer and use it in GitHub Desktop.
Save zeroows/2e1b305ac5a7f71b685e971553a0696e to your computer and use it in GitHub Desktop.
Convert git submodule to regular directory

From Stack Overflow.

# Fetch the submodule commits into the main repository
git remote add submodule_origin git://url/to/submodule/origin
git fetch submodule_origin

# Start a fake merge (won't change any files, won't commit anything)
git merge -s ours --no-commit submodule_origin/master

# Do the same as in the first solution
git rm --cached submodule_path # delete reference to submodule HEAD
git rm .gitmodules             # if you have more than one submodules,
                               # you need to edit this file instead of deleting!
rm -rf submodule_path/.git     # make sure you have backup!!
git add submodule_path         # will add files instead of commit reference

# Commit and cleanup
git commit -m "removed submodule"
git remote rm submodule_origin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment