How to configure Git to ignore some files locally

While working on a project, there are often files or directories that you don't want Git to track. These could be configuration files, environment variables, or even personal notes. While .gitignore is a powerful tool for this purpose, sometimes you need to ignore files only on your local machine without affecting the global project settings. In this Answer, we'll explore configuring Git to ignore certain files locally.

Understanding the basics

Before diving in, it's essential to understand the difference between the global .gitignore file and local configurations.

  • .gitignore: This file is part of the repository. Any changes made to it will be reflected in the repository and will affect all collaborators.

  • Local configuration: This refers to configurations that are specific to your local machine and won't affect the global repository or other collaborators.

Ignoring files locally

To ignore files locally, we'll use the git update-index command. This command allows you to tell Git to assume a file is unchanged, essentially ignoring any local modifications.

Step 1: Navigate to your Git repository in the terminal.

Step 2: Use the following command to ignore changes to a specific file:

git update-index --assume-unchanged path/to/file.txt

Replace path/to/file.txt with the path to your specific file or directory.

Practical example

Imagine you have a configuration file named config.txt in your project, and you've made local changes that shouldn't be pushed to the repository.

To ignore this file locally:

git update-index --assume-unchanged config.txt

Now, any changes you make to config.txt will be ignored by Git on your local machine.

Reverting the ignored status

If you decide later that you want Git to track the file again, you can revert the ignored status:

git update-index --no-assume-unchanged path/to/file.txt

Checking ignored files

To see a list of all files that you've told Git to ignore locally, use:

git ls-files -v | grep '^[[:lower:]]'

This command lists all tracked files and filters out those marked as "assume unchanged."

Conclusion

Ignoring files locally in Git is a powerful feature that allows developers to maintain personal configurations or make temporary changes without affecting the main project. By understanding the difference between global and local configurations and mastering the git update-index command, you can seamlessly work on your projects while ensuring that your personal modifications remain just that - personal. Remember, Git is designed to be flexible, and with the right knowledge, you can tailor its behavior to suit your needs perfectly.

Free Resources

Copyright ©2025 Educative, Inc. All rights reserved