How to ignore files which are in repository?
I have a file (config.php
), that is already committed to a Git repository, but I want to ignore locally, i.e. I want that file to remain in repository, but force Git to ignore any changes to it.
I put the file into .gitignore
, but it is still marked as changed and Git still is attempting to commit changes to it, every time I commit something.
Any ideas开发者_Go百科, what am I missing or doing wrong?
If the file is still displayed in the status, even though it is in the .gitignore, make sure it isn't already tracked.
git rm --cached config.php
If you just want to ignore it locally, you could also make it ignored by the git status:
git update-index --assume-unchanged config.php
As commented, do note that using --assume-unchanged
might cause unwanted data loss as git stash
resets the "ignored" files to the state in upstream, undoing local changes, without a warning or saving.
Ignore checked in file:
git update-index --assume-unchanged file
To revert
git update-index --no-assume-unchanged file
Revert All
git update-index --really-refresh
If the file is already in the repository, and hence the Index/Staging area, then an update to .gitignore
won't change that situation. It would keep being committed.
To remove the file from the Index/Staging area use git rm <file>
.
精彩评论