.gitignore nie ignoruje ścieżki .idea

105

Czego mi brakuje, co należy zrobić, gitaby zignorować moją .idea/ścieżkę?

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
źródło
po prostu pliki można zignorować - dowolny folder dowolny plik, który chcesz zignorować - przejdź do narzędzia intellij, kliknij prawym przyciskiem myszy plik / folder -> git -> dodaj plik ti .gitignore, to wszystko - od tego momentu intellij zacznie ignorować te pliki / folder do zmian
Ashish Shetkar

Odpowiedzi:

273

.gitignore ignoruje tylko nowo dodane (nieśledzone) pliki.

Jeśli masz pliki, które zostały już dodane do repozytorium, wszystkie ich zmiany będą śledzone jak zwykle, nawet jeśli są zgodne z regułami .gitignore.

Aby usunąć ten folder z repozytorium (bez usuwania go z dysku), wykonaj:

git rm --cached -r .idea
Cristian Lupascu
źródło
11
fatal: pathspec „.idea” nie pasuje do żadnych plików
Oliver Dixon
Otrzymuję również powyższy komunikat o błędzie fata: pathspec ...
Solx85
@iLoveUnicorns Czy masz folder .idea, który został przeznaczony / przeniesiony do git?
Cristian Lupascu
5
LGTM, otrzymałem również te same błędy, co wymienione powyżej, ale wymusiłem usunięcie za pomocą -f. Dziękuję Ci.
Srinivas Damam
Długo tego szukałem. Pracuje. Podziękować!
CodeGodie
32

dodaj .idea/do pliku .gitignore

uruchom te polecenia w terminalu, aby zakończyć misję :)

git rm -rf .idea
git commit -m "delete .idea"
git push
do01
źródło
2
fatal: pathspec '.idea' nie pasuje do żadnego pliku
Martin Erlic
13

Aby usunąć „fatal: pathspec '.idea' nie pasuje do żadnych plików” po prostu użyj, jeśli katalog nadal zwraca jako nieśledzony:

git clean -f -d .idea

Losuj
źródło
4
To jedyne rozwiązanie, które ze wszystkiego zadziałało.
Josh Desmond
3
Spowoduje to usunięcie folderu z systemu plików!
Pero122
7

Dla tych, którzy otrzymają fatal: pathspec '.idea' did not match any files:

Musisz tylko podać pełną ścieżkę do folderu .idea.

Więc najpierw zrób git status, co powinno pokazać ci ścieżkę do .ideamiejsca, w którym aktualnie jesteś.

Następnie dołącz ścieżkę do polecenia sugerowanego przez w0lf: git rm --cached -r example/path/to/.idea

Alex Totheroh
źródło
2

Jeśli po wykonaniu kroków z innych odpowiedzi nadal okaże się, że Twoja instancja git działająca w bash lub powershell po prostu śledzi folder .idea /, spróbuj tego!

Odkryłem, że IDE Jet Brains mają własne .gitignore i uruchamiają własną instancję git, która nadpisze twoje ustawienia .gitignore!

Aby to naprawić, przeszedłem do /.idea/.gitignore i zmieniłem jego zawartość na:

/**

aby zignorować wszystko w folderze.

Poniższy obraz pokazuje, jak możesz przejść do pliku .gitignore z poziomu IDE Jetbrains.

Lokalizowanie .gitignore

Josh Desmond
źródło
1

Aby rozwiązać błąd „fatal: pathspec '.idea' nie pasuje do żadnych plików” po wprowadzeniu powyższego polecenia,

  1. Sprawdź ścieżkę do swojego folderu pomysłów i jego plików.
  2. W tym celu git status. Wyświetli wszystkie pliki w zwykły sposób. Sprawdź ścieżkę do plików folderów pomysłów. Mój był o ../.idea/workspace.xml. Zwróć uwagę na../.idea
  3. Zmodyfikuj powyższe sugerowane polecenie w zaakceptowanej odpowiedzi na git rm --cached -r ../.idea
  4. Zobaczysz to, rm '.idea/workspace.xml'a pliki zostaną usunięte.
Gautam Mandsorwale
źródło
@AlexTotheroh yeah wydaje się to samo. Po prostu próbowałem pomóc innym, dokładnie wykonując kroki, które podjąłem w moim projekcie, aby rozwiązać ten problem.
Gautam Mandsorwale
Mam tutaj ten sam problem. .gitignoreznajduje się w katalogu modułu, a nie w katalogu projektu. Próbowałem ../.idea, jednak nie udało się. Wciąż sugeruje, że powinienem śledzić pliki w środku.idea
Kareem Jeiroudi
0

Aby zignorować .ideafoldery i imltypy plików, wykonałem następujące czynności:

wprowadź opis obrazu tutaj

dbv
źródło