Documentation: filter-branch: show --ignore-unmatch in main index-filter example
Rearrange the example usage of git filter-branch --index-filter 'git rm --cached ...' so that --ignore-unmatch is in the main example block. People keep stumbling over the (lack of this) option to the point where it is a FAQ, so we would want to expose the most common usage where it stands out. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Thomas Rast committed
Mar 12, 2009 at 00:00 UTC
3bc427e01342a5a6ae2052d27373f8759c680398
1 file changed
+9
-8
Documentation/git-filter-branch.txt
+9
-8
@@ -91,7 +91,9 @@ OPTIONS
91
--index-filter <command>::
92
This is the filter for rewriting the index. It is similar to the
93
tree filter but does not check out the tree, which makes it much
94
- faster. For hairy cases, see linkgit:git-update-index[1].
94
+ faster. Frequently used with `git rm \--cached
95
+ \--ignore-unmatch ...`, see EXAMPLES below. For hairy
96
+ cases, see linkgit:git-update-index[1].
97
98
--parent-filter <command>::
99
This is the filter for rewriting the commit's parent list.
@@ -204,19 +206,18 @@ However, if the file is absent from the tree of some commit,
206
a simple `rm filename` will fail for that tree and commit.
207
Thus you may instead want to use `rm -f filename` as the script.
208
207
-A significantly faster version:
209
+Using `\--index-filter` with 'git-rm' yields a significantly faster
210
+version. Like with using `rm filename`, `git rm --cached filename`
211
+will fail if the file is absent from the tree of a commit. If you
212
+want to "completely forget" a file, it does not matter when it entered
213
+history, so we also add `\--ignore-unmatch`:
214
215
--------------------------------------------------------------------------
210
-git filter-branch --index-filter 'git rm --cached filename' HEAD
216
+git filter-branch --index-filter 'git rm --cached --ignore-unmatch filename' HEAD
217
--------------------------------------------------------------------------
218
219
Now, you will get the rewritten history saved in HEAD.
220
215
-As with using `rm filename`, `git rm --cached filename` will fail
216
-if the file is absent from the tree of a commit. If it is not important
217
-whether the file is already absent from the tree, you can use
218
-`git rm --cached --ignore-unmatch filename` instead.
219
-
221
To rewrite the repository to look as if `foodir/` had been its project
222
root, and discard all other history:
223