开发者

Git is not using the contents of .gitignore

I’m working with Rails and added the directory tmp and the Gemfile to my .gitignore. But every time I change i开发者_JS百科t, git status tells me, that it changed. On both machines. On my developer machine and on the server. Kind of annoying.

Contents of .gitignore:

.DS_Store
data/export/*.csv
tmp/*
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/.bundle 
/vendor/bundle 
/log/* 
/tmp/* 
/db/*.sqlite3 
/public/system/* 
/coverage/ 
/spec/tmp/* 
**.orig 
config/*.yml 
rerun.txt 
pickle-email-*.html 
Gemfile*


It could be that git is already tracking the files. Try git rming them:

git rm --cached Gemfile

(although you probably should have the Gemfile under version control)

and for the tmp dir:

git rm -r --cached tmp

the --cached is so that the working file will not be deleted, and -r is to recursively remove from a directory.

After this git should respect .gitignore.


If your tmp and GemFile directories are already versioned, Git will not ignore them.

Either unversion them, by doing something like:

git rm -r --cached tmp
git commit -am "removing tmp"

( --cached so that they will remain in your working directory)

, or ignore that they are not ignored ( :) ) or do something like:

git update-index --assume-unchanged tmp/**

The above command "temporarily ignores" the changes to the folders that are already versioned.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜