为了让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/
答案 0 :(得分:179)
.gitignore
只会忽略新添加的(未跟踪的)文件。
如果您已将文件添加到存储库,则会像往常一样跟踪所有更改,即使它们与.gitignore规则匹配。
要从存储库中删除该文件夹(不将其从磁盘中删除),请执行以下操作:
git rm --cached -r .idea
答案 1 :(得分:21)
将.idea/
添加到.gitignore文件
在终端中运行此命令以完成任务:)
git rm -rf .idea
git commit -m "delete .idea"
git push
答案 2 :(得分:6)
对于那些使用w0lf的答案获得fatal: pathspec '.idea' did not match any files
的人:
您只需要包含.idea文件夹的完整路径。
首先,做一个git status
,它应该显示.idea
给出你目前所在位置的路径。
然后,在建议的命令w0lf中包含路径:git rm --cached -r example/path/to/.idea
答案 3 :(得分:6)
要删除“致命:pathspec'.idea'与任何文件都不匹配” ,请仅在目录仍返回未跟踪状态时使用:
git clean -f -d .idea
答案 4 :(得分:1)
如果按照其他答案的步骤操作后,您仍然发现在bash或powershell中运行的git实例只是继续跟踪.idea /文件夹,请尝试此操作!
我发现Jet Brains IDE拥有自己的.gitignore,并运行自己的git实例,它将覆盖您的.gitignore设置!
我要解决此问题的方法是导航到/.idea/.gitignore,并将其内容更改为:
/**
以便忽略文件夹中的所有内容。
下图显示了如何从Jetbrains IDE中导航到.gitignore文件。
答案 5 :(得分:0)
要解决错误“致命:pathspec'.idea'与任何文件都不匹配” ,
git status
。它将照常列出所有文件。检查想法文件夹文件的路径。我的去过../.idea/workspace.xml
。请注意../.idea
git rm --cached -r ../.idea
答案中修改上面建议的命令rm '.idea/workspace.xml'
,文件将被删除。 答案 6 :(得分:0)
答案 7 :(得分:0)
check this 如果 git status 仍然显示 .idea 即使 .idea/* 已经添加到您的 .gitignore 文件中
答案 8 :(得分:0)
在这里尝试了所有上述解决方案,但没有一个奏效。
对我有用的是我将 .idea
添加到两个 .gitignore 文件中。 (截至最新更新,.gitignore
文件夹中有一个单独的 .idea
文件)
然后我只是删除了提交消息中显示的任何文件并撤消了删除。这似乎从 git 缓存中清除了它。