Możliwe duplikaty:
Intellij Idea 9/10, jakie foldery należy sprawdzić (lub nie zameldować) w kontroli źródła?
Zacząłem używać WebStorm do tworzenia stron internetowych i nie jestem pewien, co dodać, a co wykluczyć z naszego repozytorium Git. Oczywiście niektóre pliki w .idea
folderze mają podlegać kontroli wersji, podobnie jak ustawienia biblioteki zewnętrznej ( jsLibraryMappings.xml
), ale inne prawdopodobnie będą się często zmieniać i są specyficzne dla programistów (np workspace.xml
.).
Jaki jest zalecany .gitignore
wzorzec dla WebStorm / IntelliJ IDEA?
PS Istnieją już pytania na ten temat, ale zwykle skupiają się tylko na tym, czy dołączyć cały .idea
folder, czy też całkowicie go wykluczyć. Myślę, że niektóre pliki w .idea
folderze powinny być kontrolowane pod względem wersji, podczas gdy inne nie powinny i próbuję dowiedzieć się, które z nich.
źródło
.idea
plików w VCS.Odpowiedzi:
Oficjalna strona pomocy powinna odpowiedzieć na twoje pytanie.
Więc
.gitignore
możesz zignorować pliki kończące się.iws
naworkspace.xml
oraztasks.xml
pliki i .źródło
*/.idea/workspace.xml */.idea/tasks.xml
**/.idea/workspace.xml **/.idea/tasks.xml
**/
lepszy niż*/
?Chcę tylko przedstawić nowszą alternatywę. Istnieje narzędzie online, które generuje
.gitignore
pliki na podstawie systemów operacyjnych, IDE i języków programowania, których możesz używać.gitignore.io
EDIT Disclaimer: Nie kopiuj tego pliku, skopiuj plik wygenerowany przez stronę internetową, robią dobrą robotę, aktualizując go. To tylko przykład.
Wygenerowany plik
IntelliJ
zawiera następujące elementyźródło
.idea/
” - już nie. Aktualnie generowany plik .gitignore nie ma.idea/
wpisu..idea/dictionaries
?.gitignore
. Po prostu pokazuję narzędzie, które to robi. Domyślam się, że jest to plik osobisty. Możesz dodać do swojego słownika rzeczy, które mogą nie być poprawne dla innych. Zwłaszcza podczas czyszczenia wiadomości LINT. Uważam, że jeśli zgadzasz się z innymi członkami swojej drużyny, możesz dodać to do swojego repozytorium git.https://www.gitignore.io/api/jetbrains
Utworzony przez https://www.gitignore.io/api/jetbrains
źródło
Przez kilka lat byłem zwolennikiem używania specyficznego
.gitignore
dla IntelliJ z tą sugerowaną konfiguracją .Nigdy więcej.
IntelliJ jest dość często aktualizowany, specyfikacje wewnętrznych plików konfiguracyjnych zmieniają się częściej niż bym chciał, a flagowiec JetBrains wyróżnia się w automatycznej konfiguracji na podstawie plików kompilacji maven / gradle / etc.
Tak więc moją sugestią byłoby pozostawienie wszystkich plików konfiguracyjnych edytora poza projektem i umożliwienie użytkownikom skonfigurowania edytora według własnych upodobań. Elementy takie jak styl kodowania można i należy konfigurować na poziomie kompilacji; powiedzmy, używając Google Code Style lub CheckStyle bezpośrednio w Maven / Gradle / sbt / etc.
Zapewnia to spójność i pozostawia pliki edytora poza kodem źródłowym, który moim zdaniem jest tam, gdzie powinien być.
źródło
.gitignore
tylko dla JB, jak wyjaśniłem w mojej odpowiedzi.Jetbrains udostępnia następujące programy .gitignore dla swoich programów
https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
źródło
Możesz po prostu zignorować je wszystkie, dodając
.idea/*
do.gitignore
pliku.źródło
Chociaż utrzymanie właściwego
.gitignore
pliku jest pomocne, stwierdziłem, że to alternatywne podejście jest znacznie czystsze i łatwiejsze w użyciu.my_project
a wewnątrzgit clone my_real_project
będzie repozytorium projektu.my_project
i zaznaczmy_project/my_real_project
jako root VCS.my_project/.idea
nie zanieczyścić swojego repozytorium git, ponieważ szczęśliwie żyje ono poza repozytorium git, co jest tym, czego chcesz. W ten sposób Twoje.gitignore
pliki również pozostają czyste.To podejście działa lepiej z następujących powodów.
1 -
.gitignore
plik pozostaje czysty i nie musimy wstawiać wierszy związanych z produktami JetBrains, ten plik jest lepiej wykorzystywany do plików binarnych i bibliotek oraz zawartości autogenicznej.2 - Intellij stale aktualizuje swoje projekty, a pliki wewnątrz
.idea
zmieniają każdą znaczącą wersję JB. Oznacza to, że musimy stale aktualizować nasze,.gitignore
co nie jest idealnym wykorzystaniem czasu.3 - Intellij ma tutaj wadliwy wzór, większość redaktorów Atom, VS Code, Eclipse ... nikt nie przechowuje ich zawartości IDE bezpośrednio w katalogu głównym projektu. JB również nie powinien być wyjątkiem. Obowiązkiem Jetbrains jest śledzenie tych plików poza katalogiem głównym projektu. Muszą powstrzymać się od zanieczyszczenia korzenia VCS. Takie podejście właśnie to robi.
.idea
Folder jest trzymane na zewnątrzPROJECT_ROOT
Mam nadzieję że to pomoże.
źródło
/.idea
w .gitignore działa dobrze; Zwykle problem zostanie rozwiązany za pomocą tego polecenia:git rm --cached -r .idea
/.idea
nie działa, możesz także sprawdzić inne odpowiedzi i oficjalne wytyczne od JBUsuń folder .idea
Dodaj regułę
Zatwierdź plik .gitignore
Kolejne zatwierdzenie będzie w porządku
źródło