Jakie pliki powinny znajdować się w moim .gitignore
projekcie Android Studio?
Widziałem kilka przykładów, z których wszystkie obejmują, .iml
ale dokumenty IntelliJ mówią, że .iml
muszą być uwzględnione w kontroli źródła.
git
android-studio
gitignore
szacunek Kod
źródło
źródło
Odpowiedzi:
Zaktualizowano do Android Studio 3.0. Udostępnij brakujące elementy w komentarzach.
Późna odpowiedź, ale żadna z odpowiedzi tutaj i tutaj nie dotyczyła pieniędzy dla nas ...
Oto nasz plik gitignore:
Od wersji Android Studio 2.2 i 3.0 nowe projekty są tworzone za pomocą tego pliku gitignore:
Przestarzałe - w przypadku starszego formatu projektu dodaj tę sekcję do pliku gitignore:
Ten plik powinien znajdować się w folderze głównym projektu, a nie w folderze modułu projektu.
Edytuj notatki:
Od wersji 0.3+ wydaje się, że możesz zatwierdzać i przesyłać pliki * .iml i build.gradle . Jeśli Twój projekt jest oparty na Gradle: w nowym oknie dialogowym Otwórz / Importuj zaznacz pole
"use auto import"
wyboru i zaznacz"use default gradle wrapper (recommended)"
przycisk opcji. Wszystkie ścieżki są teraz względne, jak sugeruje @George.Zaktualizowana odpowiedź zgodnie z załączonym źródłem @ 128KB i sugestiami @Skela
źródło
.iml
plików bez wa do czynienia z niepotrzebnych przykrości, jeśli inni użytkownicy nazwa projektu różnie kiedy sprawdzić.Opierając się na moim zwykłym Android .gitignore i po przeczytaniu dokumentacji na stronie Intellij IDEA i przeczytaniu postów na StackOverflow, stworzyłem następujący plik:
Należy również pamiętać, że jak wspomniano, sekcja wbudowanych plików natywnych jest przede wszystkim przydatna, gdy budujesz swój własny kod natywny za pomocą Androida NDK. Jeśli natomiast korzystasz z biblioteki innej firmy, która zawiera te pliki, możesz usunąć te linie (* .o i * .so) z .gitignore.
źródło
.idea/libraries
? Czy Twoim zdaniem powinny one zostać udostępnione czy wykluczone?Zaktualizowano 7/2015:
Oto ostateczne źródło z JetBrains
Format projektu oparty na katalogu (katalog .idea)
Ten format jest domyślnie używany we wszystkich najnowszych wersjach IDE. Oto, co musisz udostępnić:
.idea
katalogu w katalogu głównym projektu wyjątkiemworkspace.xml
itasks.xml
pliki, które ustawienia poszczególnych użytkowników sklepu.iml
pliki modułów, które mogą znajdować się w różnych katalogach modułów (dotyczy IntelliJ IDEA)Zachowaj ostrożność, udostępniając następujące informacje:
dataSources.ids
,datasources.xml
mogą zawierać hasła bazy danych. IDEA 14 rozwiązuje ten problem .Możesz rozważyć nieudostępnianie:
.idea/libraries
na wypadek, gdyby zostały wygenerowane z projektu GradleStarszy format projektu ( pliki
.ipr
/.iml
/.iws
).ipr
plik i wszystkie.iml
pliki modułu, nie dzielą się.iws
, jak plik przechowuje ustawienia konkretnego użytkownikaChociaż te instrukcje dotyczą IntelliJ IDEA, mają 100% wartości w przypadku Android Studio.
Oto
.gitignore
fragment kodu, który zawiera wszystkie powyższe reguły:źródło
<orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" />
Zwróć uwagę na liczbę 38, która wydaje się stale zwiększana. (plik misc.xml również ma ten problem).Nie zgadzam się z tymi wszystkimi odpowiedziami. Poniższa konfiguracja działa doskonale dla aplikacji naszej organizacji.
Ignoruję:
/build
/.idea
(z możliwymi wyjątkami, patrz komentarze w odpowiedzi dalewking )*.iml
local.properties
Myślę, że prawie wszyscy się zgadzają
/build
.Mam dość ciągłego wyświetlania wiadomości o różnych
library.xml
plikach, które Gradle tworzy lub usuwa/.idea
.build.gradle
Będzie działał na programiści Local kiedy po raz pierwszy zapoznać się z projektem, więc dlaczego te pliki XML muszą być wersjami? Android Studio wygeneruje również resztę,/.idea
gdy programista utworzy projekt przy użyciuCheck out from Version Control
, więc dlaczego cokolwiek w tym folderze wymaga wersji?Jeśli…
*.iml
wersja jest wersjonowana, nowy użytkownik będzie musiał nazwać projekt dokładnie tak samo, jak w momencie zatwierdzenia. Ponieważ jest to również plik generowany, dlaczego warto go najpierw wersjonować?The
local.properties
pliki wskazuje na bezwzględną ścieżkę w systemie plików dla SDK, więc to na pewno nie powinno być wersji.Edycja 1 : Dodano,
.gradle
aby zignorować elementy buforowania stopni, które nie powinny być wersjonowane (dzięki Vasily Makarov ).Edycja 2 : Dodano
.DS_Store
teraz, gdy używam komputera Mac. Ten folder jest przeznaczony dla komputerów Mac i nie powinien być wersjonowany.Dodatkowa uwaga : Prawdopodobnie chcesz również dodać katalog, w którym będziesz umieszczać klucze do podpisywania podczas budowania wersji wydania.
Dla wygody kopiowania / wklejania :
źródło
build/
zamiast/build
dopasowywać katalogi budowania modułów, takie jakapp/build
. Służy.gradle
do dopasowania katalogu buforowania stopniowego..gitignore
plik w katalogu aplikacji, który również zawiera/build
. Czy to jest generowane automatycznie, nie pamiętam? Więcbuild/
będzie dotyczyć podfolderów?Używam tego .gitignore. Znalazłem to: http://th4t.net/android-studio-gitignore.html
źródło
W przypadku Android Studio jedynymi plikami, które należy zapisać w kontroli wersji, są pliki wymagane do zbudowania aplikacji z poziomu wiersza poleceń przy użyciu gradle. Możesz więc zignorować:
Jeśli jednak zapiszesz jakiekolwiek ustawienia IDE, takie jak niestandardowe ustawienia stylu kodu, zostaną one zapisane w folderze .idea. Jeśli chcesz zmiany w kontroli wersji, zapisz również pliki IDEA (* .iml i .idea).
źródło
Android Studio 3.4
Jeśli utworzysz projekt Gradle za pomocą Android Studio,
.gitignore
plik będzie zawierał:.gitignore
Poleciłbym zignorować pełny katalog „.idea”, ponieważ zawiera on konfiguracje specyficzne dla użytkownika, nic ważnego dla procesu kompilacji.
Folder projektu Gradle
Jedyną rzeczą, która powinna znajdować się w folderze projektu (Gradle) po klonowaniu repozytorium, jest ta struktura (przynajmniej w przypadkach użycia, które do tej pory napotkałem):
Zaleca się sprawdzenie skryptów opakowujących gradle (patrz tutaj ).
źródło
Radzę też, aby nie ignorować folderu .idea.
Zaimportowałem oparty na Git projekt Eclipse do Android Studio i wszystko poszło dobrze. Później chciałem zaimportować ten projekt za pomocą Git (jak za pierwszym razem) na inną maszynę z Android Studio, ale to nie zadziałało. Android Studio załadował wszystkie pliki, ale nie mógł „zobaczyć” projektu jako projektu. Mogłem tylko otwierać pliki Git.
Podczas importowania projektu po raz pierwszy (z Eclipse do Android Studio) mój stary plik .gitignore został nadpisany, a nowy wyglądał tak:
Próbowałem więc użyć pustego gitignore i teraz zadziałało. Drugi Android Studio może załadować pliki i projekt. Myślę, że niektóre pliki nie są ważne
(profiles_settings.xml)
dla Git i importowania, ale cieszę się, że zadziałało.źródło
To najlepszy sposób, aby wygenerować
.gitignore
poprzez tutajźródło
NIE MA POTRZEBY dodania do kontroli źródła żadnego z poniższych:
Możesz więc odpowiednio skonfigurować hgignore lub gitignore.
Przy pierwszym klonowaniu przez programistę kontrola źródła może przejść:
To wszystko
PS: Android Studio dostanie następnie za pośrednictwem maven wtyczkę gradle, zakładając, że twoja build.gradle wygląda podobnie do tego:
Android studio wygeneruje zawartość folderu .idea (w tym workspace.xml, który nie powinien mieć kontroli źródła, ponieważ jest generowany ) oraz folderu .gradle.
To podejście jest przyjazne dla środowiska Eclipse, ponieważ kontrola źródła tak naprawdę nic nie wie o Android Studio. Android Studio potrzebuje tylko build.gradle, aby zaimportować projekt i wygenerować resztę.
źródło
There is NO NEED
tak, są pewne przypadki: na przykład szablony praw autorskich, które muszą być udostępniane członkom zespołu.Popieram zatwierdzenie folderu .idea (z wyłączeniem
workspace.xml
itasks.xml
). Ale zaczynam dochodzić do wniosku, że pliki .iml powinny być ignorowane.Oto problem:
Otwórz na przykład projekt w katalogu o nazwie „foo”, a otrzymasz foo.iml i wszystko wydaje się dobre i dobre. Problem polega na tym, że jeśli po prostu zmienię nazwę katalogu na foo2 (lub sklonuję go do innej nazwy katalogu) podczas próby otwarcia projektu w Android Studio, otrzymasz trzy rzeczy:
Nie mogę znaleźć sposobu, aby uniemożliwić Android Studio generowanie tego pliku IML, gdy projekt jest przechowywany w innym katalogu. Dodanie ich do kontroli źródła spowoduje problemy. Dlatego myślę, że być może powinniśmy zignorować pliki * .iml i
.idea/modules.xml
źródło
/.idea
i.iml
pliki. Chciałbym usłyszeć, dlaczego.idea
folder powinien zostać zatwierdzony .library.xml
pliki, które ciągle wyzwalały wiadomości. Ponadto nie rozumiem, dlaczego wciąż widzę, jak ludzie mówią, że pliki * .iml powinny zostać dołączone, więc warto o tym wspomnieć.Testowane z Android Studio 3.0
Może być konieczne zainstalowanie .ignore wtyczki .
Możesz automatycznie wygenerować plik .gitignore dla Androida. Kliknij folder prawym przyciskiem myszy i śledź
Następnie wybierz Android z lewego panelu i kliknij Generuj
Android Studio wygeneruje plik .gitignore, który zawiera cały plik, który należy zignorować.
Zaczerpnięte z http://menukanows.com/how-to-add-gitignore-file-in-android-project/
źródło
Zależy od sposobu utrzymania formatu projektu:
Masz dwie opcje:
.idea
katalogu folder zawierający pliki specyficzne dla projektu).iws
i.ipr
)Ref: http://www.jetbrains.com/idea/webhelp/project.html
Pliki przeznaczone do kontroli wersji zależą od powyższego:
workspace.xml
itasks.xml
.ipr
Plik kontroli wersji i wszystkie.iml
pliki modułów wykluczają.iws
plik, ponieważ przechowuje on ustawienia specyficzne dla użytkownika.Patrz: https://intellij-support.jetbrains.com/entries/23393067
źródło
Zasadniczo każdy plik jest automatycznie regenerowany.
Dobrym testem jest sklonowanie repozytorium i sprawdzenie, czy Android Studio jest w stanie natychmiast zinterpretować i uruchomić projekt (generując to, czego brakuje).
Jeśli nie, znajdź to, czego brakuje, i upewnij się, że nie jest ignorowane, ale dodane do repozytorium.
Biorąc to pod uwagę, możesz wziąć przykład z istniejących
.gitignore
plików, takich jak Android .źródło
Jestem koszerny w dodawaniu plików .iml i Intellij sez, aby dodać folder .idea, ale ignoruję .idea / workspace.xml i .idea / tasks.xml, ale co z .idea / libraries /?
Nie widzę sensu, aby to dodawać. Zawiera listę plików XML z listami bibliotek, o których projekt Android Studio powinien wiedzieć. Powinny one pochodzić ze zdefiniowanych zależności build.gradle - nie z pliku projektu IDE.
Również zawartość jednego z tych plików wygląda następująco:
To nie ma sensu. Co się stanie, jeśli użytkownik określi inny katalog domowy dla klasy lub użyje innej wersji klasy, ścieżkę poniżej
.gradle/caches/artifacts-xxx
dla nich będzie inna dla nich (tjartifacts-
. Liczba dołączona na końcu będzie odnosić się do używanego wydania wersji gradle). ) Ścieżki te nie są uniwersalne, a jednak rada polega na sprawdzeniu tego wszystkiego?źródło
Począwszy od Androida Studio 0.8.4
.gitignore
plik jest generowany automatycznie przy rozpoczynaniu nowego projektu. Domyślnie zawiera:źródło
Wiem, że to stary temat i na pewno jest wiele opcji, ale naprawdę wolę
gibo
Simona Whitakera. Jest bardzo prosty w użyciu, wieloplatformowy (Mac, * Nix i Windows) i używagitignore
repozytorium github, dzięki czemu jest (w zasadzie) zawsze aktualny.Upewnij się, że Twoja lokalna pamięć podręczna jest aktualna:
Wyszukaj potrzebny język / technologię:
Wyświetl plik .gitignore:
Teraz dołącz go do pliku .gitignore swojego projektu:
(Upewnij się, że używasz,
>>
aby dołączyć do pliku .gitignore projektu; jeden>
nadpisze go - tak jak robiłem to wielokrotnie!)Wiem, że to nie odpowiada na dokładne pytanie OP, ale korzystanie z gibo sprawia, że właściwie nie musisz już myśleć o „pytaniu”! .. to miłe! ;)
źródło
Aby uzyskać lepszy pomysł, potrzebujesz tylko następujących plików
Możesz umieścić wszystko inne w pliku .gitignore. Wszystkie zmiany aplikacji dotyczą głównie tych plików i folderów. Reszta, którą widzisz w podstawowym projekcie, to pliki kompilacji stopniowej lub pliki konfiguracyjne Android Studio.
Jeśli korzystasz z Android Studio, możesz użyć „Importuj projekt”, aby pomyślnie zbudować projekt. Alternatywnie możesz budować za pomocą wiersza poleceń, postępuj zgodnie z instrukcjami Budowanie projektów Androida za pomocą Gradle .
źródło
Najlepiej jest dodać listę .gitignore do czasu opracowania, aby zapobiec nieznanym skutkom ubocznym, gdy Kontrola wersji nie działa z jakiegoś powodu z powodu wstępnie zdefiniowanej listy (kopiuj / wklej). W przypadku jednego z moich projektów lista ignorowanych obejmuje tylko:
źródło
Github utrzymuje przydatne elementy gitignore do różnego rodzaju projektów. Oto lista przydatnych elementów gitignore dla projektów na Androida.
Android Gitignore w github
źródło
Scalam pliki Gitub .gitignore
Proszę przeczytać: Wsparcie JetBrains: Jak zarządzać projektami w systemach kontroli wersji
źródło
Korzystając z interfejsu API dostarczonego przez gitignore.io , możesz uzyskać jest generowany automatycznie. Oto bezpośredni link również gitignore.io/api/androidstudio
źródło
Począwszy od Androida Studio 0.8.4 plik .gitignore jest generowany automatycznie podczas uruchamiania nowego projektu. Domyślnie zawiera:
Zgadzam się z tym stwierdzeniem, jednak modyfikuję ten plik, aby zmienić / build na build / (Obejmuje to / build i / app / build) Więc nie skończę z wszystkimi plikami w app / build w moim repozytorium.
Zauważ też, że jeśli zaimportujesz projekt z Eclipse, plik .gitignore nie zostanie skopiowany lub utworzony dla ciebie „automatycznie”.
źródło
Kompilacja:
źródło
Aby obejść import wszystkich plików, w których Android Studio ignoruje listę „Ignorowane pliki”, ale nadal korzystam z Android Studio VCS, zrobiłem co następuje: Użyję listy „Ignorowane pliki” z Android Studio (po zaimportowaniu! Nie podczas) ORAZ unikaj konieczności używania nieporęcznego sposobu, w jaki Tortoise SVN ustawia listę svn: ignore.
W przyszłości „Ignorowane pliki” będą ignorowane i nadal możesz zarządzać VCS z Android Studio.
Pozdrawiam, Joost
źródło
Android Studio 3.5.3
Używam tego do moich bibliotek i projektów i obejmuje większość plików generowanych przez studio Android i inne znane narzędzia:
źródło
Zostało to utworzone przy użyciu odniesienia z http://gitignore.io/ Gdzie można utworzyć najnowszy zaktualizowany plik gitignore dla dowolnego projektu. Dla Androida http://gitignore.io/api/androidstudio . Mam nadzieję że to pomoże. Obecnie korzystam z Android Studio 3.6.3
źródło
Ta oficjalna dokumentacja od JetBrains Support mówi, że należy uwzględnić następujące elementy:
Podaje także inne zalecenia dotyczące rzeczy, na które należy uważać.
źródło
.gitignore z biblioteki AndroidRate
źródło
https://github.com/github/gitignore to niesamowita kolekcja
Android.gitignore
źródło