path: root/Documentation/gitignore.txt
diff options
authorJeff King <>2008-03-27 05:31:00 (GMT)
committerJunio C Hamano <>2008-03-27 20:03:51 (GMT)
commit90b22907f2d1e0b41d7ac5c281ed20e7c8a27c66 (patch)
treebf3e89ab68e3fb7c55699349ace4ca0c550c96b0 /Documentation/gitignore.txt
parent525d461528880c3ef1d466017b4cbbb0093dd7a5 (diff)
Documentation: clarify use of .git{ignore,attributes} versus .git/info/*
gitignore patterns can be read from three different files, while gitattributes can come from two files. Let's provide some hints to the user about the differences and how they are typically used. Suggested by Toby Corkindale, but gratuitously reworded by Jeff King. Signed-off-by: Toby Corkindale <> Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/gitignore.txt')
1 files changed, 12 insertions, 0 deletions
diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt
index 08373f5..ef8a272 100644
--- a/Documentation/gitignore.txt
+++ b/Documentation/gitignore.txt
@@ -38,6 +38,18 @@ precedence, the last matching pattern decides the outcome):
* Patterns read from the file specified by the configuration
variable 'core.excludesfile'.
+Which file to place a pattern in depends on how the pattern is meant to
+be used. Patterns which should be version-controlled and distributed to
+other repositories via clone (i.e., files that all developers will want
+to ignore) should go into a `.gitignore` file. Patterns which are
+specific to a particular repository but which do not need to be shared
+with other related repositories (e.g., auxiliary files that live inside
+the repository but are specific to one user's workflow) should go into
+the `$GIT_DIR/info/exclude` file. Patterns which a user wants git to
+ignore in all situations (e.g., backup or temporary files generated by
+the user's editor of choice) generally go into a file specified by
+`core.excludesfile` in the user's `~/.gitconfig`.
The underlying git plumbing tools, such as
linkgit:git-ls-files[1] and linkgit:git-read-tree[1], read
`gitignore` patterns specified by command-line options, or from