在使用PhpStorm IDE开发Symfony 2项目时,我已经在git ignore中添加了几个文件,但有一个文件尽管添加到了git ignore中,但总是出现。.gitignore
文件:
/app/config/parameters.yml
/bin/
/build/
/composer.phar
/vendor/
/web/bundles/
/app/bootstrap.php.cache
/app/cache/*
!app/cache/.gitkeep
/app/config/parameters.yml
/app/logs/*
!app/logs/.gitkeep
/app/phpunit.xml
#IDE metadata
**.idea/**
#Bash files
run.sh
Git不会忽略.idea
文件夹/文件:
On branch develop
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: .idea/workspace.xml
no changes added to commit (use "git add" and/or "git commit -a")
你知道为什么git不会像我在gitignore中指定的那样忽略整个目录吗?
5条答案
按热度按时间mhd8tkvw1#
Git不会忽略对被跟踪文件的更改。由于文件显示为已修改,因此该文件处于版本控制之下(idea/workspace.xml文件通常不应处于版本控制之下),因此对其进行的更改会被跟踪。将其从索引中删除,使用
git rm --cached .idea/workspace.xml
保留本地副本并提交此更改。从那时起,除非您将其强制添加回存储库或更改gitignore设置,否则它将被忽略。eufgjt7s2#
一旦你提交了文件,它将开始被跟踪。
为了从这一点删除文件,您必须从存储库中删除它们。
你现在需要做的是删除整个
.idea
文件夹,提交删除,将idea
扩展名添加到你的.gitignore
文件。Note
您仍然可以使用
assume-unchanged
标志忽略添加的文件--[no-]assume-unchanged
指定此标志时,不会更新为路径记录的对象名称。
相反,该选项设置/取消设置路径的“假定未改变”位。
当
assume unchanged
位为on时,用户承诺不更改文件,并允许Git假设工作树文件与索引中记录的内容匹配。如果你想改变工作树文件,你需要取消设置位来告诉Git。
如果Git需要在索引中修改这个文件,例如在提交中合并时,Git将失败(优雅地);因此,如果假定未跟踪的文件在上游被更改,您将需要手动处理这种情况。
解释如何从命令行执行,也可以通过IDEA完成。
pdsfdshx3#
这对我来说很好
eqqqjvef4#
我在gitignore文件中添加了这个,并为我工作
**/.idea
wgeznvg75#
当我们提交一些东西时,git会开始跟踪文件夹/项目。不必要的文件我们也可以从项目中删除。
从项目中删除
.idea/
文件夹。请按照以下步骤操作:1.确保您已将
.idea/
添加到.gitignore
文件中。1.运行以下命令
希望它能解决这个问题。