📝
This post is part of my “Shorts” series, where each post is concise and hyper-focused on a single concept.
In the previous post, I mentioned that you can use .git/info/exclude
file as your personal local .gitignore
. However, it only works on files that are untracked, i.e., which have never been tracked using git add
.
How to locally ignore tracked files?
- Run this command:
git update-index --assume-unchanged <filename>
.
For example, if your filename is called my-awesome-file.txt
, then run the command:
git update-index --assume-unchanged my-awesome-file.txt
Breaking down the command
update-index
: Ask git to update its index, that is used to track changes to existing files and creation of new files.--assume-unchanged
: Ask git to assume that the file will be unchanged from now. Remove it from the index.
Caveat
If someone else modifies the file in the remote repository:
- You will receive the updated file content after running
git pull
.- If you have made changes to the file before running
git pull
, git will most probably throw an error warning you that your local changes will be lost.
- If you have made changes to the file before running
- The file will be added to the index again, and thus tracked.
How to undo? Re-adding the file to index
git update-index --no-assume-unchanged <filename>