Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trouble un-ignoring previously ignored files in Git repo

Tags:

git

gitignore

I have a site that has a /sites/default/files/ directory where user content is typically kept. Figuring that I don't need to be tracking this stuff, I added /sites/default/files/ to my .gitignore file.

Then I discovered that I also wanted to keep some mostly-permanent uploads in that directory as well. Now it makes more sense to track everything in /sites/default/files/ and exclude undesirable subdirectories, instead of doing it the other way around.

The problem is that Git won't stop ignoring that directory. I have removed the lines from .gitignore that specify this directory and it won't track it. I have the option to use git add /sites/default/files/ -f to force git to track the directory, but I've done that before and it seems messy.

If .gitignore no longer specifies that directory as ignored, why would I have to force Git to start tracking those files?

like image 988
doub1ejack Avatar asked Jun 20 '12 18:06

doub1ejack


People also ask

Why git ignore is not ignoring files?

gitignore only ignores files that are not part of the repository yet. If you already git add ed some files, their changes will still be tracked. To remove those files from your repository (but not from your file system) use git rm --cached on them.


1 Answers

You know how to do it already. Yes, git add -f is the way.

If you ask why... this is because git set a assume-unchanged bit internally. This bit make git think the file is not modified, so git add won't add it.

If you want to mess with the implementation details, you can use git update-index --no-assume-unchanged <file> command.

like image 108
J-16 SDiZ Avatar answered Oct 10 '22 18:10

J-16 SDiZ