Pertanyaan Apa yang harus ada di gitignore saya untuk proyek Android Studio?


File apa yang harus ada di saya .gitignore untuk proyek Android Studio?

Saya telah melihat beberapa contoh yang mencakup semua .iml tapi dokumen IntelliJ mengatakan itu .iml harus disertakan dalam kontrol sumber Anda.


1056
2018-05-24 14:04


asal


Jawaban:


Diperbarui ke Android Studio 3.0 Silakan bagikan item yang hilang di komentar.

Jawaban terlambat tetapi tidak ada jawaban di sini dan sini tepat untuk kami ...

Jadi, inilah file gitignore kami:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
.navigation
captures/
output.json 

#NDK
obj/
.externalNativeBuild

Sejak Android Studio 2.2 dan hingga 3.0, proyek baru dibuat dengan file gitignore ini:

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild

Tidak berlaku lagi - untuk format proyek yang lebih lama, tambahkan bagian ini ke file gitignore Anda:


/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp

File ini harus ditempatkan di folder akar proyek dan bukan di dalam folder modul proyek.

Edit Catatan:

  1. Sejak versi 0.3+ tampaknya Anda dapat melakukan dan mendorong * .iml dan build.gradle file. Jika proyek Anda didasarkan pada Gradle: di dialog buka / impor baru, Anda harus memeriksa "use auto import" kotak centang dan tandai "use default gradle wrapper (recommended)" tombol radio. Semua jalur sekarang relatif seperti yang disarankan @George.

  2. Jawaban diperbarui menurut @ 128KB sumber terlampir dan saran @Skela


1148
2017-07-23 07:29



Membangun Android saya yang normal .gitignore, dan setelah membaca dokumentasi di situs web Intellij IDEA dan membaca posting di StackOverflow, saya telah menyusun file berikut:

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# built native files (uncomment if you build your own)
# *.o
# *.so

# generated files
bin/
gen/

# Ignore gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Eclipse Metadata
.metadata/

# Mac OS X clutter
*.DS_Store

# Windows clutter
Thumbs.db

# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids

Juga perhatikan bahwa seperti yang ditunjukkan, membangun file asli Bagian ini terutama berguna ketika Anda membangun kode asli Anda sendiri dengan Android NDK. Jika, di sisi lain, Anda menggunakan pustaka pihak ketiga yang menyertakan file-file ini, Anda mungkin ingin menghapus garis-garis ini (* .o dan * .so) dari gitignore Anda.


137
2018-01-10 16:23



Diperbarui 7/2015:

Ini dia sumber definitif dari JetBrains


Format proyek berdasarkan direktori (direktori .idea)

Format ini digunakan oleh semua versi IDE terbaru secara default. Inilah yang perlu Anda bagikan:

  • Semua file di bawah .idea direktori di akar proyek kecuali itu workspace.xml dan tasks.xml file yang menyimpan pengaturan khusus pengguna
  • Semua .iml file modul yang dapat ditemukan di direktori modul yang berbeda (berlaku untuk IntelliJ IDEA)

Hati-hati tentang berbagi hal berikut:

  • Android artefak yang menghasilkan build bertanda tangan (akan berisi kata sandi keystore)
  • Di IDEA 13 dan sebelumnya dataSources.ids, datasources.xml dapat berisi kata sandi basis data. IDEA 14 memecahkan masalah ini.

Anda dapat mempertimbangkan untuk tidak membagikan hal-hal berikut:

  • file gradle.xml, lihat diskusi ini
  • folder kamus pengguna (untuk menghindari konflik jika pengembang lain memiliki nama yang sama)
  • File XML di bawah .idea/libraries seandainya mereka dihasilkan dari Gradle proyek

Format proyek legacy (.ipr/.iml/.iws file)

  • Bagikan proyek .ipr file dan semua file .imlfile modul, jangan berbagi itu .iws file karena menyimpan pengaturan khusus pengguna

Sementara petunjuk ini untuk IntelliJ IDEA, mereka memegang 100% benar untuk Android Studio.


Ini dia .gitignore snippet yang menggabungkan semua aturan di atas:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml

70
2017-08-26 22:45



Saya tidak setuju dengan semua jawaban ini. Konfigurasi berikut berfungsi dengan baik untuk aplikasi organisasi kami.

Saya mengabaikan:

  • /build
  • /.idea (dengan kemungkinan pengecualian, lihat komentar di Jawaban dalewking)
  • *.iml
  • local.properties

Saya pikir hampir semua orang setuju /build.

Aku bosan terus-menerus melihat pesan tentang berbagai macam itu library.xml file yang dibuat atau dihapus oleh Gradle /.idea. Itu build.gradle akan berjalan di lokal pengembang ketika mereka pertama kali memeriksa proyek, jadi mengapa file XML tersebut perlu diversi? Android Studio juga akan menghasilkan sisanya /.idea ketika pengembang membuat proyek menggunakan Check out from Version Control, jadi mengapa sesuatu di folder itu perlu diversi?

Jika itu *.iml adalah versi pengguna baru harus menamai proyek persis sama seperti ketika dilakukan. Karena ini juga file yang dihasilkan, mengapa harus menggantinya di tempat pertama?

Itu local.properties file menunjuk ke jalur absolut pada sistem file untuk SDK, jadi tidak boleh diversi.

Edit 1: Ditambahkan .gradle untuk mengabaikan hal-hal cache gradle yang seharusnya tidak diversi (terima kasih Vasily Makarov).

Edit 2: Ditambahkan .DS_Store sekarang saya menggunakan Mac. Folder ini khusus untuk Mac dan seharusnya tidak diversi.

Catatan tambahan: Anda mungkin juga ingin menambahkan direktori untuk memasukkan kunci penandatangan Anda saat membangun versi rilis.

Untuk kenyamanan salin / tempel:

.gradle
/build
/.idea
*.iml
local.properties
.DS_Store 

34
2017-07-10 14:57



Saya menggunakan ini. Gitignore. Saya menemukannya di: http://th4t.net/android-studio-gitignore.html

*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties

*/build/

*~
*.swp

32
2018-05-21 10:53



Dalam kasus Android Studio, satu-satunya file yang harus disimpan dalam kontrol versi adalah file yang diperlukan untuk membangun aplikasi dari baris perintah menggunakan gradle. Jadi Anda dapat mengabaikan:

  • * .iml
  • .ide
  • membangun

Namun, jika Anda menyimpan pengaturan IDE, seperti pengaturan gaya kode kustom, mereka akan disimpan di folder .idea. Jika Anda menginginkan perubahan tersebut dalam kontrol versi, maka Anda akan menyimpan file IDEA juga (* .iml dan .idea).


30
2018-05-24 15:11



Saran saya adalah juga untuk tidak mengabaikan folder .idea.

Saya telah mengimpor proyek Eclipse berbasis Git ke Android Studio dan itu berjalan dengan baik. Kemudian, saya ingin mengimpor proyek ini dengan Git (seperti pertama kali) ke komputer lain dengan Android Studio, tetapi itu tidak berhasil. Android Studio memuat semua file tetapi tidak dapat "melihat" proyek sebagai proyek. Saya hanya bisa membuka file Git.

Saat mengimpor proyek untuk pertama kalinya (dari Eclipse ke Android Studio), .gitignore lama saya ditimpa dan yang baru terlihat seperti ini:

  • .idea / .name
  • .idea / compiler.xml
  • .idea / copyright / profiles_settings.xml
  • .idea / encodings.xml
  • .idea / libraries / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / scopes / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

Jadi, saya mencoba menggunakan gitignore kosong dan sekarang berhasil. Studio Android lainnya dapat memuat file dan Proyek. Saya kira beberapa file tidak penting (profiles_settings.xml) untuk Git dan mengimpor tetapi saya senang itu berhasil.


16
2018-06-21 00:35