Skip to content

Click on each book below to review & buy on Amazon.

As an Amazon Associate, I earn from qualifying purchases.

CompTIA Linux+ XK0-005 - 3.3 - Gitignore

In Git, there are multiple types of ignore files that can be used to specify intentionally untracked files and directories that Git should ignore. These files help exclude certain files or directories from being tracked by Git, ensuring a cleaner and more focused version control history. In this guide, we will explore three commonly used ignore files: .gitignore, git/ignore, and info/exclude.


The .gitignore file is the most widely used ignore file in Git. It is typically placed at the root of a Git repository and applies to the entire project. The .gitignore file uses a simple syntax to define patterns and rules for ignoring files and directories.

Valid Syntax

  • Blank lines are ignored.
  • Lines starting with # are treated as comments.
  • Patterns can be specified using glob patterns or regular expressions.
  • Globs are wildcards that match file and directory names based on patterns.
    • * matches any number of characters (including none).
    • ? matches any single character.
    • / specifies a directory separator.
    • ! negates a pattern.
  • Patterns can be specific file or directory names or can include wildcards.
  • Directories can be matched using a trailing /.

Example .gitignore

# Ignore compiled files

# Ignore build directory

# Exclude sensitive information

This .gitignore file will ignore all compiled files (with extensions .class and .o), the entire build directory, and the secrets.yml file.


The $XDG_CONFIG_HOME/git/ignore file is another type of ignore file in Git. It includes patterns which a user wants Git to ignore in all situations. Similar to the .gitignore file, it follows the same syntax and rules.


The $GIT_DIR/info/exclude file is an ignore file that is specific to your local repository. It is not tracked by Git and is only applicable to your local environment. This file follows the same syntax and rules as the .gitignore file.

Environment Variables

  • $GIT_DIR: This environment variable points to the path of the .git directory of the current Git repository. It is automatically set by Git when you are inside a repository and executing Git commands.
  • $XDG_CONFIG_HOME: This environment variable defines the base directory for user-specific configuration files. If this variable is not set, the default value is $HOME/.config.


Gitignore files, such as .gitignore, $XDG_CONFIG_HOME/git/ignore, and $GIT_DIR/info/exclude, are essential for managing untracked files and directories in a Git repository. By specifying patterns and rules, you can exclude generated files, dependencies, IDE-specific files, and sensitive information from version control.

In this guide, we discussed the purpose and usage of .gitignore, $XDG_CONFIG_HOME/git/ignore, and $GIT_DIR/info/exclude files. We explored the valid syntax for specifying patterns within these files and provided examples to illustrate their usage. By understanding and utilizing these ignore files effectively, you can maintain a cleaner and more organized Git repository.

Support DTV Linux

Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.

NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.