git-delete-submodule
Remove a submodule from a Git repository
TLDR
Delete a specific submodule
SYNOPSIS
git-delete-submodule submodule_name
PARAMETERS
submodule_name
The name of the submodule to delete. This corresponds to the directory name of the submodule within the superproject.
DESCRIPTION
The `git-delete-submodule` command facilitates the safe and complete removal of a Git submodule from a repository.
This involves not only deleting the submodule's directory, but also unregistering it from the `.gitmodules` file and removing it from the Git index.
This command is a helper script designed to automate what would otherwise be a multi-step manual process.
It prevents common errors associated with submodule removal, ensuring that the repository remains in a consistent and functional state.
Failing to properly remove a submodule can lead to issues such as broken links, unnecessary files remaining in the working directory, and problems when other developers clone or checkout the repository.
This tool simplifies submodule management, making it easier to keep repositories clean and maintainable. It ensures the submodule's history is preserved in the original submodule's repository and only the reference in the superproject is removed.
CAVEATS
This script is typically included with Git itself or provided as a helper script. Ensure it's available in your `PATH` before attempting to use it. Double-check the submodule name before running the command to avoid accidentally deleting the wrong submodule.
WORKFLOW
The script generally performs the following steps:
1. De-registers the submodule from the `.gitmodules` file.
2. Removes the submodule from the Git index.
3. Deletes the submodule's directory from the working tree.
4. Commits these changes to the superproject.
SEE ALSO
git submodule(1), git rm(1)