summaryrefslogtreecommitdiffstats
path: root/git-rm.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-11-13 14:32:04 -0800
committerJunio C Hamano <gitster@pobox.com>2012-11-13 14:32:04 -0800
commita129545d44f1f0fe9976ed87b9a7331bf239b7d8 (patch)
tree52268e539a6b33e18401455ea13cf579c615dc80 /git-rm.txt
parent3b4382b85a92a6419a8f05510a9b583e711b5071 (diff)
downloadgit-htmldocs-a129545d44f1f0fe9976ed87b9a7331bf239b7d8.tar.gz
Autogenerated HTML docs for v1.8.0-150-gb0b00
Diffstat (limited to 'git-rm.txt')
-rw-r--r--git-rm.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/git-rm.txt b/git-rm.txt
index 5d31860eb..882cb1171 100644
--- a/git-rm.txt
+++ b/git-rm.txt
@@ -107,6 +107,21 @@ as well as modifications of existing paths.
Typically you would first remove all tracked files from the working
tree using this command:
+Submodules
+~~~~~~~~~~
+Only submodules using a gitfile (which means they were cloned
+with a git version 1.7.8 or newer) will be removed from the work
+tree, as their repository lives inside the .git directory of the
+superproject. If a submodule (or one of those nested inside it)
+still uses a .git directory, `git rm` will fail - no matter if forced
+or not - to protect the submodule's history.
+
+A submodule is considered up-to-date when the HEAD is the same as
+recorded in the index, no tracked files are modified and no untracked
+files that aren't ignored are present in the submodules work tree.
+Ignored files are deemed expendable and won't stop a submodule's work
+tree from being removed.
+
----------------
git ls-files -z | xargs -0 rm -f
----------------