Bureaucrats, confirmed, Administrators
4,558
edits
(adds a couple example commands) |
(adds recipe for ignoring directory with exception) |
||
Line 16: | Line 16: | ||
<source lang="bash"> | <source lang="bash"> | ||
git log --stat | git log --stat | ||
</source> | |||
How do you ignore a directory, but make an exception? What if you already added certain directories to git but want to stop tracking them now (ie. "take them out of version control")? | |||
A combination of editting your <code>.gitignore</code> file and <code>git rm --cached</code> to the rescue. I had accidentally added and committed some files into git which should have been ignored because they are 3rd party files managed by [[Composer]]. I fixed my <code>.gitignore</code> to track only what I want while ignoring a parent directory: | |||
<pre> | |||
/nbproject/* | |||
# ignore everything in the 'vendor' directory | |||
/vendor/* | |||
# but don't ignore the 'eqt' directory | |||
!/vendor/eqt/ | |||
</pre> | |||
Then you simply remove all files from git's index, and add them back (only now adding them back will look to .gitignore for the corrected rules) | |||
<source lang="bash"> | |||
git rm -r --cached . | |||
git add . | |||
git commit -m 'ignoring vendor/*' | |||
</source> | </source> | ||
[[Category:Development]] | [[Category:Development]] |