I have some files specified in the ".git/info/exclude" file so that when I make a commit, those files are not staged/included in the commit. I also want to keep my local version of these files when I do a merge. I've set up a "ours" merge driver and set the ".git/info/attributes" file appropriately (I think); however, I don't think the driver's being used because I don't think git detects any conflicts in these files when the merge is attempted.
Here's my ".git/info/exclude" file (which is giving me what I want - these files never get staged):
/IDWA.Client/dmsConfig.json
/IDWA.Server.AppServer/client-config*.*
/IDWA.Server.AppServer/dmsConfig.json
Here's my ".git/info/attributes" file (which doesn't appear to be doing anything at all; again, I think because git is not detecting any conflicts when a merge is attempted):
/IDWA.Client/dmsConfig.json merge=ours
/IDWA.Server.AppServer/client-config*.* merge=ours
/IDWA.Server.AppServer/dmsConfig.json merge=ours
The driver configuration:
git config --global merge.ours.driver true
And, finally..
I just want to be able to do a git pull and never have to worry about these files.
Here's my ".git/info/attributes" file (which doesn't appear to be doing anything at all;
That would work only in case of merge conflicts.
Since those files are already tracked, try:
git update-index --skip-worktree -- a file
See "Git - Difference Between 'assume-unchanged' and 'skip-worktree'".