.gitignore не игнорирует путь .idea

105

Что мне не хватает, что нужно сделать, 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/
MrDuk
источник
просто файлы можно игнорировать - любая папка, любой файл, который вы хотите игнорировать - перейдите в инструмент intellij, щелкните правой кнопкой мыши файл / папку -> git -> добавить файл ti .gitignore, это - с этого момента intellij начнет игнорировать эти файлы / папки для изменений
Ашиш Шеткар

Ответы:

274

.gitignore игнорирует только недавно добавленные (неотслеживаемые) файлы.

Если у вас есть файлы, которые уже были добавлены в репозиторий, все их изменения будут отслеживаться как обычно, даже если они соответствуют правилам .gitignore.

Чтобы удалить эту папку из репозитория (не удаляя ее с диска), выполните:

git rm --cached -r .idea
Кристиан Лупашку
источник
11
fatal: pathspec '.idea' не соответствует ни одному файлу
Оливер Диксон,
Я также получаю указанное выше сообщение об ошибке fata: pathspec ...
Solx85 01
@iLoveUnicorns У вас есть папка .idea, привязанная к git?
Cristian Lupascu
5
LGTM, у меня тоже были те же ошибки, что указаны выше, но я принудительно удалил using -f. Спасибо.
Шринивас Дамам
Я давно это искал. Работает. Спасибо!
CodeGodie
32

добавить .idea/в файл .gitignore

запустите эти команды в терминале, чтобы завершить миссию :)

git rm -rf .idea
git commit -m "delete .idea"
git push
do01
источник
2
фатальный: pathspec '.idea' не соответствует ни одному файлу
Мартин Эрлик,
13

Чтобы удалить «fatal: pathspec '.idea' не соответствует ни одному файлу», просто используйте, если каталог по-прежнему возвращается как неотслеживаемый:

git clean -f -d .idea

Рандомизировать
источник
4
Это единственное решение, которое помогло мне из всего.
Джош Десмонд
3
Это удалит папку из вашей файловой системы!
Pero122
7

Для тех, кто получает fatal: pathspec '.idea' did not match any files:

Вам просто нужно указать полный путь к папке .idea.

Итак, сначала сделайте a git status, который должен показать вам путь к тому месту, .ideaгде вы сейчас находитесь.

Затем включите путь в предложенную команду w0lf: git rm --cached -r example/path/to/.idea

Алекс Тотерох
источник
2

Если после выполнения шагов из других ответов вы все равно обнаружите, что ваш экземпляр git, запущенный в bash или powershell, просто продолжает отслеживать папку .idea /, попробуйте это!

Я обнаружил, что у IDE Jet Brains есть собственный .gitignore, и они запускают собственный экземпляр git, который переопределяет ваши настройки .gitignore!

Чтобы исправить это, я перешел на /.idea/.gitignore и изменил его содержимое на:

/**

чтобы игнорировать все в папке.

На изображении ниже показано, как перейти к файлу .gitignore из IDE Jetbrains.

Поиск .gitignore

Джош Десмонд
источник
1

Для решения ошибки «fatal: pathspec '.idea' не соответствует ни одному файлу» после ввода вышеуказанной команды,

  1. Проверьте путь к папке с идеей и ее файлам.
  2. Для этого и сделаю git status. Как обычно, в нем будут перечислены все файлы. Проверьте путь к файлам папки идей. Мой был в ../.idea/workspace.xml. Обратите внимание на../.idea
  3. Измените предложенную выше команду в принятом ответе на git rm --cached -r ../.idea
  4. Вы увидите это, rm '.idea/workspace.xml'и файлы будут удалены.
Гаутам Мандсоруале
источник
@AlexTotheroh да, похоже. Я просто пытался помочь другим точными шагами, которые я предпринял в своем проекте, чтобы решить эту проблему.
Gautam Mandsorwale
У меня здесь такая же проблема. .gitignoreнаходится внутри каталога модуля, а не каталога проекта. Я попробовал ../.idea, но ничего не вышло. Я все еще предлагаю отслеживать файлы внутри.idea
Карим Джеруди
0

Чтобы игнорировать типы .ideaпапок и imlфайлов, я сделал следующее:

введите описание изображения здесь

dbv
источник