Kemungkinan Gandakan:
Intellij Idea 9/10, folder apa yang harus diperiksa (atau tidak dicek) kontrol sumber?
Saya mulai menggunakan WebStorm untuk pengembangan web dan tidak yakin apa yang harus ditambahkan dan apa yang harus dikecualikan dari repositori Git kami. Jelas beberapa file di dalam .idea
folder dimaksudkan untuk dikontrol versi seperti pengaturan perpustakaan eksternal ( jsLibraryMappings.xml
) tetapi yang lain mungkin akan sangat sering berubah dan bersifat khusus untuk pengembang (misalnya, workspace.xml
).
Apa .gitignore
pola yang disarankan untuk WebStorm / IntelliJ IDEA?
PS Sudah ada pertanyaan tentang ini tetapi biasanya hanya fokus pada apakah akan memasukkan keseluruhan .idea
folder atau apakah akan sepenuhnya mengecualikannya. Saya pikir beberapa file di dalam .idea
folder harus dikontrol versi sementara yang lain tidak dan saya mencoba mencari tahu yang mana.
sumber
.idea
file di VCS.Jawaban:
Halaman dukungan resmi harus menjawab pertanyaan Anda.
Jadi di Anda,
.gitignore
Anda mungkin mengabaikan file yang diakhiri dengan.iws
,workspace.xml
dantasks.xml
file.sumber
*/.idea/workspace.xml */.idea/tasks.xml
**/.idea/workspace.xml **/.idea/tasks.xml
**/
lebih baik dari itu*/
?Saya hanya ingin menyajikan alternatif yang lebih baru. Ada alat online yang menghasilkan
.gitignore
file berdasarkan sistem operasi, IDE, dan bahasa pemrograman yang mungkin Anda gunakan.gitignore.io
Penafian EDIT : Jangan menyalin file ini, salin file yang dihasilkan oleh situs web sebagai gantinya, mereka melakukan pekerjaan yang baik untuk tetap diperbarui. Ini hanya sebuah contoh.
File yang dihasilkan untuk
IntelliJ
berisi yang berikut inisumber
.idea/
" - tidak lagi. .Gitignore yang dihasilkan saat ini tidak memiliki.idea/
entri..idea/dictionaries
?.gitignore
. Saya hanya menunjukkan alat yang melakukannya. Dugaan saya adalah file pribadi. Anda dapat menambahkan hal-hal dalam kamus Anda yang mungkin tidak berlaku untuk orang lain. Khususnya ketika Anda membersihkan pesan LINT. Saya percaya bahwa jika Anda setuju di antara rekan satu tim Anda, Anda dapat menambahkannya ke repo git Anda.https://www.gitignore.io/api/jetbrains
Dibuat oleh https://www.gitignore.io/api/jetbrains
sumber
Selama beberapa tahun saya adalah pendukung penggunaan spesifik
.gitignore
untuk IntelliJ dengan konfigurasi yang disarankan ini .Tidak lagi.
IntelliJ diperbarui cukup sering, spesifikasi file konfigurasi internal berubah lebih sering daripada yang saya inginkan dan unggulan JetBrains unggul dalam konfigurasi otomatis itu sendiri berdasarkan file build maven / gradle / etc.
Jadi saran saya adalah meninggalkan semua file konfigurasi editor dari proyek dan meminta pengguna mengkonfigurasi editor sesuai keinginan mereka. Hal-hal seperti penataan kode dapat dan harus dikonfigurasi pada level build; katakanlah menggunakan Google Code Style atau CheckStyle langsung di Maven / Gradle / sbt / etc.
Ini memastikan konsistensi dan meninggalkan file editor dari kode sumber yang, menurut pendapat pribadi saya, memang seharusnya begitu.
sumber
.gitignore
hanya untuk JB seperti yang saya jelaskan dalam jawaban saya.Jetbrains menyediakan .gitignore berikut untuk program mereka
https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
sumber
Anda bisa mengabaikan semuanya dengan menambahkan
.idea/*
ke.gitignore
file.sumber
Sambil mempertahankan
.gitignore
file yang tepat sangat membantu, saya menemukan pendekatan alternatif ini lebih bersih dan lebih mudah digunakan.my_project
dan di dalamnyagit clone my_real_project
repo proyek yang sebenarnya.my_project
dan tandaimy_project/my_real_project
sebagai root VCS.my_project/.idea
tidak akan mencemari git repo Anda karena ia dengan senang hati tinggal di luar git repo yang Anda inginkan. Dengan cara ini.gitignore
file tetap bersih juga.Pendekatan ini bekerja lebih baik karena alasan di bawah ini.
1 -
.gitignore
file tetap bersih dan kami tidak harus menyisipkan baris yang terkait dengan produk JetBrains, file itu lebih baik digunakan untuk binari dan pustaka dan konten autogen.2 - Intellij terus memperbarui proyek mereka dan file di dalamnya
.idea
terus mengubah setiap rilis signifikan dari JB. Ini artinya kita harus terus memperbarui.gitignore
sesuai yang bukan penggunaan waktu yang ideal.3 - Intellij memiliki pola cacat di sini, kebanyakan editor Atom, VS Code, Eclipse ... tidak ada yang menyimpan konten IDE mereka tepat di dalam root proyek. JB juga seharusnya tidak menjadi pengecualian. Ini adalah tanggung jawab Jetbrains untuk menyimpan file-file itu dilacak di luar root proyek. Mereka harus menahan diri dari mencemari root VCS. Pendekatan ini tidak hanya itu. Itu
.idea
folder disimpan di luarPROJECT_ROOT
Semoga ini membantu.
sumber
/.idea
di .gitignore berfungsi dengan baik; Biasanya masalah akan diselesaikan setelah dengan perintah ini:git rm --cached -r .idea
/.idea
tidak berfungsi, Anda dapat memeriksa jawaban lain dan pedoman resmi dari JB jugaHapus folder .idea
Tambahkan aturan
Komit file .gitignore
Komit berikutnya akan baik-baik saja
sumber