13

When ever I do git status, the netbeans private.xml is making trouble, I tried adding that in git ignore several ways. but the gitignore simply does not ignore it.

git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
   (use "git add <file>..." to update what will be committed)
   (use "git checkout -- <file>..." to discard changes in working directory)

   modified:   .gitignore
   modified:   nbproject/private/private.xml
...

My git ignore file is

node_modules/
dist/
*.log
nbproject/private/*    
*.bak
*.orig
*~
*.log
*private.xml

Tried both nbproject/private/* and *private.xml in the same file.

2 Answers 2

23

A file which is already tracked would not be ignored: you need to remove from the index first.

git rm --cached private.xml 
git add -u .
git commit -m "Record deletion of private.xml from the index"

(the --cached option make sure the file remains on the disk)

Then you can add it in the .gitignore (no need for '*')

private.xml 

Note: whenever an file is or is not ignored, you can check out which .gitignore rule applies with:

git check-ignore -v -- private.xml
5

Your file is already added to the git repo.
Once file is added (not untracked) adding it to .gitignore will not ignore it since its already in the repo so you have to remove it from the repository, commit the deletion of the file and then it will be ignored.

See VonC code above on how to do it.

The important thing to understand is that once the file is already commited, adding it to git ignore will not ignore it.

Not the answer you're looking for? Browse other questions tagged or ask your own question.