Instead of using --assume-unchanged, you can try --skip-worktree with git update-index. A file with the flag git update-index --skip-worktree should resist a git reset (which would unstage from the index any added changes) You can see a full analysis of the differences between --assume-unchanged and --skip-worktree here. It looks like...