Intellij Idea 9/10, folder apa yang perlu diperiksa (atau tidak diperiksa) kontrol sumbernya?

119

Tim kami baru saja pindah dari Netbeans ke Intellij 9 Ultimate dan perlu mengetahui file / folder apa yang biasanya harus dikecualikan dari kontrol sumber karena mereka bukan "portabel workstation", yaitu: mereka mereferensikan jalur yang hanya ada di satu komputer pengguna.

Sejauh yang saya tahu, Intellij ingin mengabaikan sebagian besar proyek .idea termasuk

.idea/artifacts/*
.idea/inspectionProfiles/*
.idea/copyright/*
.idea/dataSources.ids
.idea/dataSources.xml
.idea/workspace.xml

Namun, sepertinya ingin memeriksa .imlfile yang ada di direktori root setiap modul.

Saya awalnya memeriksa seluruh .ideadirektori melalui baris perintah yang jelas tidak mengetahui apa yang "harus" diabaikan oleh Idea. Apakah seluruh .ideadirektori biasanya diabaikan?

benstpierre
sumber

Jawaban:

104

Kami memiliki artikel FAQ yang membahas pertanyaan ini.

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

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

Berhati-hatilah saat membagikan yang berikut:

  • Artefak Android yang menghasilkan build bertanda tangan (akan berisi sandi keystore)
  • Dalam IDEA 13 dan sebelumnya dataSources.ids , datasources.xml dapat berisi password database yang. IDEA 14 memecahkan masalah ini .

Anda dapat mempertimbangkan untuk tidak membagikan yang berikut:

  • File .iml untuk project berbasis Gradle atau Maven , karena file ini akan dibuat saat diimpor
  • gradle.xml , lihat diskusi ini
  • folder kamus pengguna (untuk menghindari konflik jika pengembang lain memiliki nama yang sama)
  • File XML di bawah .idea / libraries jika dibuat dari proyek Gradle atau Maven

.idea direktori adalah pengganti file .ipr (Idea Project) lama dan jika Anda ingin berbagi proyek di antara pengguna, maka Anda perlu membagikan folder .idea (dengan pengecualian yang disebutkan di FAQ) dan semua file .iml.

CrazyCoder
sumber
2
Ya, ini mutakhir, tidak ada perubahan besar dalam file proyek.
CrazyCoder
72
@CrazyCoder (+1) Ini akan membuat hidup kita lebih mudah jika kalian meletakkan file khusus proyek dan file khusus pengguna dalam direktori terpisah.
IJ Kennedy
3
Mengomentari utas ish lama, tetapi pendekatan FAQ untuk membagikan seluruh folder .idea (kecuali workspace.xml dan task.xml) bermasalah karena berbagai file berubah antar mesin dan antar sesi. Apa yang benar-benar mengganggu saya: Python / Library di Mac ada di dua tempat berbeda di Mac yang berbeda, jadi pycharm.xml abounce.
Matthew Cornell
29
itu alasan yang sangat buruk untuk FAQ. ini adalah utas besar dengan orang-orang yang mengajukan pertanyaan. bagaimana dengan contoh .gitignore untuk sebuah proyek?
Jeffrey Blattman
13
sulit dipercaya / tidak mungkin akan ada "beberapa ya, beberapa tidak" dalam folder yang sama --- apakah ini masih kegilaan yang sama empat tahun kemudian? terima kasih
Fattie
42

Lihat file JetBrains.gitignore Github untuk selalu memiliki daftar terbaru dari file mana yang harus diabaikan.

mengapaceewhite
sumber
Bagaimana dengan Rider? (file saat ini tidak menyebutkannya)
Roberto
6

Bukan jawaban pasti untuk pertanyaan tetapi ada contoh file .gitignore yang tersedia di sini termasuk satu untuk JetBrains yang menyertakan Intellij.

CodeClimber
sumber
1
Seandainya saya bisa meremehkan jawaban lain yang tidak memiliki pertanyaan. Terima kasih atas tanggapan kode sumber yang sebenarnya.
bobjones
1
.gitignoreTautan JetBrains
Camilo Sanchez
5

Anda mungkin menemukan posting ini menarik: Menggabungkan file IntelliJ IDEA .IPR dan .IWS

Tampaknya untuk menyimpulkan bahwa Anda harus menambahkan semua file kecuali: workspace.xml, dataSources.xml, sqlDataSources.xmldan dynamic.xml. Jawabannya ada fokus pada memiliki file yang tidak berubah hanya dari membuka editor atau membuat perubahan spesifik ide.

Tommy Andersen
sumber
4

Saya menggunakan PHPStorm.

Berikut ini contoh cuplikan untuk .gitignore

# Ignore the following 2 PHPStorm files only workspace and tasks file
**/.idea/workspace.xml
**/.idea/tasks.xml

Semua file lainnya di .idea direktori harus dimasukkan ke repositori Anda.

misalnya: (lakukan semua yang lain di .ideadirektori)

new file:   .idea/.name
new file:   .idea/encodings.xml
new file:   .idea/framework.iml
...

Docs: Bagaimana mengelola proyek pada Version Control Systems

Inilah yang perlu Anda bagikan:

Semua file di bawah .idea direktori di root proyek kecuali yang workspace.xml dan tasks.xml yang menyimpan pengaturan khusus pengguna

Semua file modul .iml yang dapat ditempatkan di direktori modul yang berbeda (berlaku untuk IntelliJ IDEA)

Jadi pada dasarnya, lakukan semuanya kecuali workspace.xmldan tasks.xml.

Anil
sumber
0

Ya, saya yakin begitu. Anda dapat memeriksa konfigurasi SVN untuk melihat apa yang diabaikan dan menambahkan apa saja yang menurut Anda harus diabaikan.

duffymo
sumber