Git users who want a clean working tree without publishing personal ignore rules have two alternatives to the familiar `.gitignore` file. A developer note published on September 23 highlights `.git/info/exclude` for repository-specific patterns and a user-level excludes file for recurring local clutter. Both accept the same style of patterns as `.gitignore`, but neither needs to become part of a project’s committed files.
The repository-local option sits at `.git/info/exclude`. Because it lives inside Git’s own metadata directory, it cannot be included in a normal commit and is not shared with collaborators. That makes it useful for private notes, temporary plans and other harmless untracked files that belong to one developer’s workflow rather than the project. Adding a matching pattern removes those untracked paths from the usual `git status` display without forcing the rest of a team to adopt the same convention.
The second option applies across repositories. Git automatically reads a global ignore file at `~/.config/git/ignore`, or under the directory named by `XDG_CONFIG_HOME` when that environment variable is configured. Developers can also point Git to another file through its excludes-file configuration. This broader rule set is suited to files created repeatedly by an editor, operating system or other local tooling.
These mechanisms address different scopes. A committed `.gitignore` remains the right place for generated files or local configuration that everyone working on the project is expected to encounter. The internal exclude file is limited to one repository, while the global file follows the user across repositories. Keeping those purposes separate reduces unnecessary project rules and avoids exposing idiosyncratic filenames in a shared repository.
There are practical limits. Ignore rules do not affect files Git already tracks; removing a tracked file from normal version control requires a separate decision. Linked worktrees also need care because their `.git` path may be a file rather than a directory. In that setup, the applicable exclude file resides in the main repository’s Git metadata and covers its worktrees.
Tools layered on Git can interpret ignore rules in their own interfaces. The source notes that Claude Code may omit ignored files from its file-reference autocomplete by default, although the files remain readable and that picker behavior can be changed in the tool’s settings. The underlying Git behavior is unchanged.
The broader lesson is that ignore configuration does not have to be a team artifact. Git already provides local scopes for personal files, allowing developers to reduce status noise while leaving the repository’s shared policy focused on files that matter to every contributor.



