Skip to content

Instantly share code, notes, and snippets.

@ryaninvents
Created May 5, 2016 13:25
Show Gist options
  • Star 34 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save ryaninvents/9fb333760e217c3425c728a1c2a99db4 to your computer and use it in GitHub Desktop.
Save ryaninvents/9fb333760e217c3425c728a1c2a99db4 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
@zeroows
Copy link

zeroows commented Sep 3, 2023

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment