2017-02-24 100 views
0

我有一個項目的目錄結構如下:.gitignore仍然跟蹤文件,即使我試圖忽略它們,爲什麼?

. 
├── application 
│   ├── ... <more folders & files goes here> 
├── config 
├── cronjobs 
│── ... <more folders & files goes here> 
├── oneview_symfony 
│   ├── app 
│   ├── bin 
│   ├── src 
│   ├── tests 
│   ├── var 
│   ├── vendor 
│   └── web 
├── .gitignore 

我想忽略的一些文件和文件夾,這是我在我的.gitignore文件中的規則:具有信息

oneview_symfony/app/cache/* 
oneview_symfony/app/logs/* 
!oneview_symfony/app/cache/.gitkeep 
!oneview_symfony/app/logs/.gitkeep 

oneview_symfony/app/spool/* 

oneview_symfony/var/cache/* 
oneview_symfony/var/logs/* 
oneview_symfony/var/sessions/* 
!oneview_symfony/var/cache/.gitkeep 
!oneview_symfony/var/logs/.gitkeep 
!oneview_symfony/var/sessions/.gitkeep 

oneview_symfony/app/config/parameters.yml 
oneview_symfony/app/config/parameters.ini 

oneview_symfony/app/bootstrap.php.cache 
oneview_symfony/var/bootstrap.php.cache 
oneview_symfony/bin/* 
!oneview_symfony/bin/console 
!oneview_symfony/bin/symfony_requirements 
oneview_symfony/vendor/* 

oneview_symfony/web/bundles/ 
oneview_symfony/web/uploads/ 
oneview_symfony/app/phpunit.xml 
oneview_symfony/phpunit.xml 
oneview_symfony/build/ 

oneview_symfony/web/css/ 
oneview_symfony/web/js/ 

以上如果我運行git status我仍然看到oneview_symfony/vendor/下的文件,爲什麼?我錯過了什麼?上面的命令

輸出例如:

... 
    new file: oneview_symfony/vendor/zendframework/zendframework1/resources/languages/pt_BR/Zend_Validate.php 
    new file: oneview_symfony/vendor/zendframework/zendframework1/resources/languages/ru/Zend_Validate.php 
    new file: oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Captcha.php 
    new file: oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Validate.php 
    new file: oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sr/Zend_Validate.php 
    new file: oneview_symfony/vendor/zendframework/zendframework1/resources/languages/uk/Zend_Validate.php 
    modified: oneview_symfony/web/.htaccess 

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) 
+1

你有任何提前包含oneview_symfony/vendor /下的文件的提交嗎? – Mark

+0

@Mark是的,我認爲我可能在某個時候運行'git add .',這就是問題 – ReynierPM

+0

,在這種情況下,@xephox的答案就是您的解決方案。 – Mark

回答

2

您已經添加了這些文件到您的混帳回購協議和/或分批的變化。

要從回購中刪除它們,您可以運行git rm -r --cache <folder-to-ignore>將它們從git緩存中移除。 (請確保包含--cache標誌,以便它不會刪除實際文件!)

如果您只是暫存文件,則可以運行git reset以取消它們,並且它們應該停止出現在更改列表是否已正確添加到.gitignore

相關問題