Skip to content

Instantly share code, notes, and snippets.

@mikemahony
Forked from dansuh17/unsubmodule.md
Last active July 3, 2025 18:47
Show Gist options
  • Select an option

  • Save mikemahony/45f375ab760528f7eb2e44202ac40d7a to your computer and use it in GitHub Desktop.

Select an option

Save mikemahony/45f375ab760528f7eb2e44202ac40d7a 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 --allow-unrelated-histories 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