.gitignore 不忽略 .idea 路径

.gitignore not ignoring .idea path

为了让 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")

ctote@ubuntu:~/dev/1$ cat .gitignore
*.class

# Package Files #
*.war
*.ear

# IDEA config files
.idea/

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

如果您有已添加到存储库的文件,即使它们符合 .gitignore 规则,也会照常跟踪它们的所有更改。

要从存储库中删除该文件夹(而不是从磁盘中删除它),请执行:

git rm --cached -r .idea

.idea/ 添加到 .gitignore 文件

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

git rm -rf .idea
git commit -m "delete .idea"
git push

对于那些获得 fatal: pathspec '.idea' did not match any files 的人:

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

所以首先,做一个 git status,它应该会告诉你通往 .idea 的路径,给定你当前所在的位置。

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

输入上述命令后解决错误"fatal: pathspec '.idea' did not match any files"

  1. 检查您的想法文件夹及其文件的路径。
  2. 为此做 git status。它将像往常一样列出所有文件。检查idea文件夹文件的路径。我的是 ../.idea/workspace.xml。注意 ../.idea
  3. 将接受的答案中的上述建议命令修改为git rm --cached -r ../.idea
  4. 然后您将看到此 rm '.idea/workspace.xml' 并且文件将被删除。

要删除 "fatal: pathspec '.idea' did not match any files",如果目录仍 returns 未被跟踪,请使用:

git clean -f -d .idea

如果按照其他答案的步骤后,您仍然发现 git 运行ning 在 bash 或 powershell 中的实例一直在跟踪 .idea/ 文件夹,然后试试这个!

我发现 Jet Brains IDE 有他们自己的 .gitignore,运行 他们自己的 git 实例会覆盖你的 .git忽略设置!

我解决这个问题的方法是导航到/.idea/。git忽略,并将其内容更改为:

/**

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

下图显示了如何从 Jetbrains IDE.

导航到 .gitignore 文件

为了忽略 .idea 文件夹和 iml 文件类型,我执行了以下操作:

check this 如果 git 状态仍然显示 .idea 即使 .idea/* 已经添加到您的 .gitignore 文件

根据命令

从存储库运行中删除文件
git rm --cached .idea/

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

echo '.idea' >> .gitignore

添加 .gitignore 文件

git add .gitignore

git commit -m "Removed .idea files"

在此处尝试了上述所有解决方案,其中 none 个有效。

对我有用的是我将 .idea 添加到两个 .gitignore 文件。 (截至最新更新,.idea 文件夹中有一个单独的 .gitignore 文件)

然后我删除了提交消息中显示的所有文件并撤消了删除。这似乎从 git 缓存中清除了它。

  1. 在 .gitignore 文件中进行更改并保存。
  2. 以管理员身份或终端打开 CMD,然后转到项目文件夹。
  3. 运行 git rm -r --cached .idea/
  4. 运行 git add .
  5. 运行 git commit -m "chore: Rider files ignored."

详情见how to fix gitignore

在我的例子中,我的 .gitignore 有这些行:

### Rider ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml
.idea/.idea.TemplateProject/.idea/indexLayout.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn.  Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser