Korzystając z PHPStorm, próbuję zignorować to, workspace.xml
które pojawia się za każdym razem, gdy próbuję dokonać polecenia git.
Mój .gitignore
wygląda jak:
/.idea/
.idea/workspace.xml
Ponieważ w pewnym momencie plik został zatwierdzony, wykonałem również:
git rm --cached .idea/workspace.xml
a następnie popełnił usunięcie, zepchnięty do samego repozytorium.
Ale plik pojawia się później, gdy wprowadzam zmiany w projekcie.
Jakieś pomysły na to, czego mi brakuje?
git
intellij-idea
phpstorm
Valentin Despa
źródło
źródło
Odpowiedzi:
Miałem do czynienia z tym samym problemem i doprowadziło mnie to do szału. Problem polegał na tym, że folder .idea JUŻ był wcześniej zaangażowany w repozytorium, a więc były śledzone przez git, niezależnie od tego, czy je zignorowałeś, czy nie. Polecam następujące, po zamknięciu RubyMine / IntelliJ lub dowolnego IDE, którego używasz:
Następnie pamiętaj, aby zignorować .idea w swoim .gitignore
Chociaż wystarczy zignorować go w .gitignore repozytorium, sugerowałbym, abyś globalnie ignorował pliki dot. Twojego IDE.
W przeciwnym razie będziesz musiał dodać go do każdego .gitgnore dla każdego projektu, nad którym pracujesz. Ponadto, jeśli współpracujesz z innymi ludźmi, jego najlepszą praktyką jest nie zanieczyszczanie .gitignore projektu prywatną konfiguracją, która nie jest specyficzna dla kodu źródłowego projektu.
źródło
git rm .idea
zamiastgit add .idea
wykonywać tę pracęadd
narm
, ale w moim przypadku musiałem dodać-r
także do rekursywnie usunąć wszystkie.git rm -r .idea
Właśnie miałem ten problem, musiałem to zrobić
git rm -f .idea/workspace.xml
, wydaje się, że już go nie ma (musiałem go również włożyć.gitignore
)źródło
Musiałem:
Polecenia
Inne osoby odpowiedzialne powinny działać
źródło
W tym samym katalogu, w którym widać plik, wykonaj:
rm .idea/workspace.xml
git rm -f .idea/workspace.xml (as suggested by chris vdp)
vi .gitignore
.idea/workspace.xml
jedną z linii Esc,:wq
Powinieneś być teraz dobry
źródło
echo .idea/workspace.xml>>.gitignore
. Nie musisz otwierać vi na wszystko. Alternatywnie, a co bym zrobił, to mieć osobny plik .gitignore w katalogu .idea:echo workspace.xml>>.idea/.gitignore
Aby
.idea/
całkowicie usunąć z git bez wpływu na konfigurację IDE, możesz po prostu:źródło
Jeśli masz wiele projektów w git repo,
.idea/workspace.xml
nie będzie pasować do żadnych plików.Zamiast tego wykonaj następujące czynności:
$ git rm -f **/.idea/workspace.xml
I spraw, aby Twój .gitignore wyglądał mniej więcej tak:
źródło
Po prostu powiedz git, aby nie zakładał, że zostało zmienione, nie ważne co:
tak, możesz usunąć pliki z repozytorium git. Ale jeśli twój zespół używa tego samego IDE lub jesteś sam, prawdopodobnie nie chcesz tego robić. Dla siebie chcesz mieć dobry punkt wyjścia do wznowienia pracy, również dla członków swojej drużyny.
źródło
Tak właśnie zrobiłem w Android Studio, który również opiera się na IntelliJ. W oknie dialogowym zatwierdzenia cofnąłem zmianę dla pliku workspace.xml, a następnie został on przeniesiony do pliku niewersjonowanego. Następnie usunąłem to z okna dialogowego zatwierdzenia. Teraz nie pojawi się na liście zmian. Zauważ, że mój gitignore już zawierał .idea / workspace.xml
źródło
Ponieważ w moim przypadku wykonywał pierwszy popełnić projektu, po prostu usuwając
.git
i.idea
foldery, a następnie za pomocą git reinicjalizacjigit init
pomogły rozwiązać problem. Teraz w ogóle nie mam.idea
.źródło
Ten sam problem dla mnie z PHPStorm
W końcu rozwiązałem następujące czynności:
Napisz pliki, które musisz zignorować, i .idea / też. Aby mieć pewność, że zostanie zignorowany, umieszczam następujące informacje:
Nie wiem, dlaczego tak działa, być może .gitignore musi być na tym samym poziomie .idea, aby zignorować ten katalog.
źródło
Ignoruj pliki kończące się
.iws
, aworkspace.xml
itasks.xml
pliki w swoim .gitignore Referenceźródło