gitignore 不会忽略 .idea 目录

问题描述 投票:0回答:6

使用 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 gitignore
6个回答
74
投票

Git 永远不会忽略对跟踪文件的更改。由于它显示为已修改,因此该文件处于版本控制之下(idea/workspace.xml 文件通常不应如此),因此会跟踪对其所做的更改。从索引中将其删除,使用

git rm --cached .idea/workspace.xml
保持本地副本完好无损,然后提交此更改。从那时起,它将被忽略,除非您将其强制添加回存储库或更改 gitignore 设置。


34
投票

提交文件后,它将开始被跟踪
为了从此时删除文件,您必须将它们从存储库中删除。

您现在需要做的是删除整个

.idea
文件夹,提交删除,将
idea
扩展名添加到您的
.gitignore
文件中。

Note

您仍然可以使用

assume-unchanged
标志忽略添加的文件

--[no-]assume-unchanged

指定此标志后,为路径记录的对象名称不会更新。
相反,此选项设置/取消设置路径的“假设不变”位。

assume unchanged
位打开时,用户承诺不更改文件,并允许 Git 假定工作树文件与索引中记录的内容匹配。

如果你想改变工作树文件,你需要取消设置该位来告诉 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>

8
投票
#idea folder
.idea/

这对我来说效果很好


1
投票

我将其添加到 gitignore 文件中并为我工作

**/.想法


1
投票

当我们提交某些内容时,git 开始跟踪文件夹/项目。不需要的文件我们也可以从项目中删除。

从项目中删除

.idea/
文件夹。请按照以下步骤操作:

  1. 确保您已将
    .idea/
    添加到您的
    .gitignore
    文件中。
  2. 运行以下命令

    git rm -r --cached .
    git add .
    git commit -m "untracked fixed"

希望它能解决这个问题。


0
投票

找到.idea的路径,然后将其添加到.gitignore文件中 例如:

.idea*
© www.soinside.com 2019 - 2024. All rights reserved.