.gitignore不会忽视.idea路径

MrD*_*Duk 83 git gitignore

为了git忽略我的.idea/道路,我需要做些什么?

ctote@ubuntu:~/dev/1$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

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/.name
    modified:   .idea/misc.xml
    modified:   .idea/modules.xml
    modified:   .idea/vcs.xml
    modified:   .idea/workspace.xml
    modified:   src/Receiver.java
    modified:   test/1/agent/WindowsQueryHandlerTest.java

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    lib/
    mp1.iml

no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
ctote@ubuntu:~/dev/1$ cat .gitignore
*.class

# Package Files #
*.war
*.ear

# IDEA config files
.idea/
Run Code Online (Sandbox Code Playgroud)

Cri*_*scu 216

.gitignore 只忽略新添加的(未跟踪)文件.

如果您已将文件添加到存储库,则将照常跟踪所有更改,即使它们与.gitignore规则匹配也是如此.

要从存储库中删除该文件夹(不将其从磁盘中删除),请执行以下操作:

git rm --cached -r .idea
Run Code Online (Sandbox Code Playgroud)

  • 致命的:pathspec'.idea'与任何文件都不匹配 (7认同)
  • LGTM,我也得到了与上面指定的相同的错误,但我使用`-f`强制删除.谢谢. (4认同)
  • 这句话很有帮助:“.gitignore 仅忽略新添加的(未跟踪的)文件。”谢谢!现在,我意识到一位同事签入了临时文件,这让我抓狂!我只需 git rm 并进行提交即可。 (2认同)

do0*_*o01 24

添加.idea/到.gitignore文件

在终端运行此命令以完成任务:)

git rm -rf .idea
git commit -m "delete .idea"
git push
Run Code Online (Sandbox Code Playgroud)

  • 致命:路径规范“.idea”与任何文件都不匹配 (2认同)

Jas*_*wel 19

从存储库中删除文件运行以下命令

git rm --cached .idea/
Run Code Online (Sandbox Code Playgroud)

现在更新您的 gitignore 文件以忽略在命令下运行的 .idea 文件夹

echo '.idea' >> .gitignore
Run Code Online (Sandbox Code Playgroud)

添加 .gitignore 文件

git add .gitignore

git commit -m "Removed .idea files"
Run Code Online (Sandbox Code Playgroud)


Ran*_*ize 8

要删除“致命的:pathspec'.idea'与任何文件都不匹配”,仅在目录仍返回未跟踪状态时使用:

git clean -f -d .idea

  • 这是唯一对我有用的解决方案。 (4认同)
  • 这将从文件系统中删除该文件夹! (2认同)

Jos*_*ond 8

如果按照其他答案中的步骤进行操作后,您仍然发现在 bash 或 powershell 中运行的 git 实例只是继续跟踪 .idea/ 文件夹,那么请尝试此操作!

我发现 Jet Brains IDE 有自己的 .gitignore,并运行自己的 git 实例,这将覆盖您的 .gitignore 设置!

我解决此问题的方法是导航到 /.idea/.gitignore,并将其内容更改为:

/**
Run Code Online (Sandbox Code Playgroud)

以便忽略文件夹中的所有内容。

下图显示了如何从 Jetbrains IDE 中导航到 .gitignore 文件。

定位 .gitignore


Ale*_*roh 6

对于那些得到fatal: pathspec '.idea' did not match any filesw0lf答案的人:

您只需要包含.idea文件夹的完整路径.

首先,做一个git status,它应该向您展示.idea给出您当前所在位置的路径.

然后,在w0lf建议的命令中包含路径: git rm --cached -r example/path/to/.idea