使用 PhpStorm IDE 开发 Symfony2 项目时,我已将几个文件添加到 gitignore,但尽管已添加到 gitignore,但始终会出现一个文件。我已经尝试过多次,但它总是存在
.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 中指定的那样忽略整个目录吗?
Git 永远不会忽略对跟踪文件的更改。由于它显示为已修改,因此该文件处于版本控制之下(idea/workspace.xml 文件通常不应如此),因此会跟踪对其所做的更改。从索引中将其删除,使用
git rm --cached .idea/workspace.xml
保持本地副本完好无损,然后提交此更改。从那时起,它将被忽略,除非您将其强制添加回存储库或更改 gitignore 设置。
提交文件后,它将开始被跟踪。
为了从此时删除文件,您必须将它们从存储库中删除。
您现在需要做的是删除整个
.idea
文件夹,提交删除,将 idea
扩展名添加到您的 .gitignore
文件中。
Note
您仍然可以使用
assume-unchanged
标志忽略添加的文件
--[no-]assume-unchanged
指定此标志后,为路径记录的对象名称不会更新。
相反,此选项设置/取消设置路径的“假设不变”位。当
位打开时,用户承诺不更改文件,并允许 Git 假定工作树文件与索引中记录的内容匹配。assume unchanged
如果你想改变工作树文件,你需要取消设置该位来告诉 Git。
如果需要修改索引中的此文件,Git 将(优雅地)失败,例如合并到提交时;因此,如果假设的未跟踪文件在上游发生更改,您将需要手动处理这种情况。
解释如何从命令行执行操作,也可以通过 IDEA 完成。
# Remove the file from the repository
git rm --cached .idea/
# now update your gitignore file to ignore this folder
echo '.idea' >> .gitignore
# add the .gitignore file
git add .gitignore
git commit -m "Removed .idea files"
git push origin <branch>
#idea folder
.idea/
这对我来说效果很好
我将其添加到 gitignore 文件中并为我工作
**/.想法
当我们提交某些内容时,git 开始跟踪文件夹/项目。不需要的文件我们也可以从项目中删除。
从项目中删除
.idea/
文件夹。请按照以下步骤操作:
.idea/
添加到您的 .gitignore
文件中。
git rm -r --cached .
git add .
git commit -m "untracked fixed"
希望它能解决这个问题。
找到.idea的路径,然后将其添加到.gitignore文件中 例如:
.idea*