GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
GIT-IGNORE(1) Git Extras GIT-IGNORE(1)

git-ignore - Add .gitignore patterns

git-ignore [<context>] [<pattern> [<pattern>]...]

Adds the given _pattern_s to a .gitignore file if it doesn´t already exist.

<context>

-l, --local

Sets the context to the .gitignore file in the current working directory. (default)

-g, --global

Sets the context to the global gitignore file for the current user.

-p, --private

Sets the context to the private exclude file for the repository (.git/info/exclude).

<pattern>

A space delimited list of patterns to append to the file in context.

Pattern format as described in the git manual
  • A blank line matches no files, so it can serve as a separator for readability. To append a blank line use empty quotes "".
  • A line starting with # serves as a comment. For example, "# This is a comment"
  • An optional prefix ! which negates the pattern; any matching file excluded by a previous pattern will become included again. If a negated pattern matches, this will override lower precedence patterns sources. To use an exclamation ! as command line argument it is best placed between single quotes ´´. For example, ´!src´
  • If the pattern ends with a slash, it is removed for the purpose of the following description, but it would only find a match with a directory. In other words, foo/ will match a directory foo and paths underneath it, but will not match a regular file or a symbolic link foo (this is consistent with the way how pathspec works in general in git).
  • If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the top level of the work tree if not from a .gitignore file).
  • Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
  • A leading slash matches the beginning of the pathname. For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".

All arguments are optional so calling git-ignore alone will display first the global then the local gitignore files:
$ git ignore
Global gitignore: /home/alice/.gitignore
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.rej
*.swo
*.swp
*.vi
*~
*.sass-cache
# OS or Editor folders
Thumbs.db
---------------------------------
Local gitignore: .gitignore
nbproject
    

If you only want to see the global context use the --global argument (for local use --local):

$ git ignore
Global gitignore: /home/alice/.gitignore
Thumbs.db
    

To quickly append a new pattern to the default/local context simply:

$ git ignore *.log
Adding pattern(s) to: .gitignore
    

You can now configure any patterns without ever using an editor, with a context and pattern arguments: The resulting configuration is also returned for your convenience.

$ git ignore --local "" "# Temporary files" *.tmp "*.log" tmp/*  "" "# Files I´d like to keep" ´!work´  ""
Adding pattern(s) to: .gitignore
Local gitignore: .gitignore
# Temporary files
index.tmp
*.log
# Files I´d like to keep
!work
    

Written by Tj Holowaychuk <tj@vision-media.ca> and Tema Bolshakov <tweekane@gmail.com> and Nick Lombard <github@jigsoft.co.za>

<https://github.com/tj/git-extras/issues>

<https://github.com/tj/git-extras>
April 2018

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.