Android

Mengabaikan file dan direktori di git (.gitignore)

Game Theory: Doki Doki Decoded! (Doki Doki Literature Club)

Game Theory: Doki Doki Decoded! (Doki Doki Literature Club)

Daftar Isi:

Anonim

Seringkali, ketika mengerjakan proyek yang menggunakan Git, Anda ingin mengecualikan file atau direktori tertentu agar tidak didorong ke repositori jarak jauh.

File .gitignore menentukan file yang tidak ditelusuri yang harus diabaikan oleh Git.

File Apa Yang Harus Diabaikan?

File yang diabaikan biasanya file platform-spesifik atau file yang dibuat secara otomatis dari sistem build. Beberapa contoh umum termasuk:

  • File runtime seperti log, kunci, cache, atau file sementara. File dengan informasi sensitif, seperti kata sandi atau kunci API. Kode yang dikompilasi, seperti .class atau .o Direktori dependensi, seperti /vendor atau /node_modules node_modules. Direktori bangunan, seperti /public , /out , atau /dist . File sistem seperti .DS_Store atau Thumbs.db IDE atau file konfigurasi editor teks.

.gitignore

File .gitignore lokal biasanya ditempatkan di direktori root repositori. Namun Anda dapat membuat beberapa file .gitignore di berbagai subdirektori dalam repositori Anda. Pola dalam file .gitignore dicocokkan relatif terhadap direktori tempat file tersebut berada.

Pola yang ditentukan dalam file yang berada di direktori tingkat rendah (sub-direktori) lebih diutamakan daripada yang ada di direktori tingkat tinggi.

File .gitignore lokal dibagikan dengan pengembang lain dan harus berisi pola yang berguna untuk semua pengguna repositori lainnya.

Aturan Abaikan Pribadi

Pola yang khusus untuk repositori lokal Anda dan tidak boleh didistribusikan ke repositori lain, harus ditetapkan dalam file .git/info/exclude .

Misalnya, Anda dapat menggunakan file ini untuk mengabaikan file yang dihasilkan dari alat proyek pribadi Anda.

Global .gitignore

Git juga memungkinkan Anda membuat file global .gitignore , tempat Anda dapat menetapkan aturan abaikan untuk setiap repositori Git di sistem lokal Anda.

File dapat diberi nama apa saja yang Anda suka dan simpan di lokasi mana pun. Tempat paling umum untuk menyimpan file ini adalah direktori home. Anda harus secara manual membuat file dan mengkonfigurasi Git untuk menggunakannya.

Misalnya, untuk menetapkan ~/.gitignore_global sebagai file abaikan global Git, Anda akan melakukan hal berikut:

  1. Buat file:

    touch ~/.gitignore_global

    Tambahkan file ke konfigurasi Git:

    git config --global core.excludesfile ~/.gitignore_global

    Buka file dengan editor teks Anda dan tambahkan aturan Anda ke sana.

Aturan global sangat berguna untuk mengabaikan file tertentu yang tidak ingin Anda komit, seperti file dengan informasi sensitif atau yang dapat dieksekusi yang dapat dieksekusi.

Mengabaikan File yang Sebelumnya Dilakukan

File-file dalam copy pekerjaan Anda dapat dilacak atau tidak dilacak.

Untuk mengabaikan file yang telah dilakukan sebelumnya, Anda harus menghapus stage dan menghapus file dari indeks, dan kemudian menambahkan aturan untuk file di .gitignore :

git rm --cached filename

Opsi --cached memberitahu git untuk tidak menghapus file dari pohon kerja tetapi hanya untuk menghapusnya dari indeks.

Untuk menghapus direktori secara rekursif, gunakan opsi -r :

git rm --cached filename

Saat menghapus file secara rekursif, gunakan opsi -n yang akan melakukan "dry run" dan menunjukkan kepada Anda file apa yang akan dihapus:

git rm -r -n directory

Debugging .gitignore File

Terkadang sulit untuk menentukan mengapa file tertentu diabaikan, terutama ketika Anda menggunakan banyak file .gitignore atau pola kompleks. Di sinilah perintah git check-ignore dengan opsi -v , yang memberitahu git untuk menampilkan detail tentang pola yang cocok, menjadi sangat berguna.

Misalnya, untuk memeriksa mengapa file www/yarn.lock diabaikan, Anda akan menjalankan:

git check-ignore -v www/yarn.lock

Output menunjukkan path ke file gitignore , jumlah baris yang cocok, dan pola aktual.

www/.gitignore:31:/yarn.lock www/yarn.lock

Perintah juga menerima lebih dari satu nama file sebagai argumen, dan file tidak harus ada di pohon kerja Anda.

Menampilkan Semua File yang Diabaikan

Perintah git status dengan opsi --ignored menampilkan daftar semua file yang diabaikan:

git status --ignored

Kesimpulan

File .gitignore memungkinkan Anda untuk mengecualikan file dari diperiksa ke dalam repositori. File berisi pola globbing yang menjelaskan file dan direktori mana yang harus diabaikan.

gitignore.io adalah layanan online yang memungkinkan Anda membuat file .gitignore untuk sistem operasi, bahasa pemrograman, atau IDE.