A project will often generate files that you do 'not' want to track with git.
This typically includes files generated by a build process or temporary
backup files made by your editor. Of course, 'not' tracking files with git
is just a matter of 'not' calling "git-add
" on them. But it quickly becomes
annoying to have these untracked files lying around; e.g. they make
"git add .
" and "git commit -a
" practically useless, and they keep
showing up in the output of "git status
".
You can tell git to ignore certain files by creating a file called .gitignore in the top level of your working directory, with contents such as:
# Lines starting with '#' are considered comments.
# Ignore any file named foo.txt.
foo.txt
# Ignore (generated) html files,
*.html
# except foo.html which is maintained by hand.
!foo.html
# Ignore objects and archives.
*.[oa]
See gitignore for a detailed explanation of the syntax. You can
also place .gitignore files in other directories in your working tree, and they
will apply to those directories and their subdirectories. The .gitignore
files can be added to your repository like any other files
(just run git add .gitignore
and git commit
, as usual), which is convenient when the exclude
patterns (such as patterns matching build output files) would also make sense
for other users who clone your repository.
If you wish the exclude patterns to affect only certain repositories
(instead of every repository for a given project), you may instead put
them in a file in your repository named .git/info/exclude, or in any file
specified by the core.excludesfile
configuration variable. Some git
commands can also take exclude patterns directly on the command line.
See gitignore for the details.