I have branch master
that ignores .idea
in its .gitignore
.
From that, I created branch noIgnore
that has no .gitignore
.
I found that checkout master
deletes .idea
.
That's not the behavior I want. I want to keep .idea
, just not track it, not on master
. How do I do that?
You could stop tracking changes for a file in repo
git update-index --skip-worktree .idea
Since you're tracking it in the other branch, then when you make changes you'll want to start tracking changes again
git update-index --no-skip-worktree .idea
When you get tired of doing this manually, you could create a post-checkout hook if on master, stop tracking, else start tracking.
It removes .idea because that's what checkout does, it checks out master where there's no .idea. Try to add --no-track
to your command.