Useful for files like configuration file where you do not want to commit the changes. However, there is a confusion between skip-worktree and assume-unchanged. After reading from FallenGameR post 1, skip-worktree is for developer who want to make changes to the file but do not want git to track it. As the name suggest, assume-unchanged will assume the developer will not make changes to the file so it always assume the file unchanged. Use assume-unchanged only at the situation where you would want to speed up the git so that it does not monitor too many files.

skip-worktree

Pause tracking

git update-index --skip-worktree <file>

Resume tracking

git update-index --no-skip-worktree <file>

assume-unchanged

Pause tracking

git update-index --assume-unchanged <file>

Resume tracking

git update-index --no-assume-unchanged <file>

Check files

To check which files you have pause the tracking, use this:

git ls-files -v | grep -e "^[hsmrck]"

References


  1. FallenGameR’s blog - git assume-unchanged vs skip-worktree ↩︎