Android

Mengabaikan fail dan direktori di git (.gitignore)

Файл gitignore в git

Файл gitignore в git

Isi kandungan:

Anonim

Seringkali, apabila mengerjakan projek yang menggunakan Git, anda akan mahu mengecualikan fail atau direktori tertentu daripada ditolak ke repositori jauh.

Fail .gitignore menentukan apa fail yang tidak .gitignore Git harus diabaikan.

Apakah Fail Yang Boleh Diabaikan?

Fail yang diabaikan biasanya merupakan fail khusus platform atau fail secara automatik dibuat dari sistem binaan. Beberapa contoh biasa termasuk:

  • Fail runtuhan seperti log, kunci, cache, atau fail sementara.Buat dengan maklumat sensitif, seperti kata laluan atau kekunci API.Kod dikompilasi, seperti .class atau.o.Kerahan kebebasan, seperti /vendor atau /node_modules node_modules.Build direktori, seperti /public , /out , atau /dist Fail sistem seperti .DS_Store atau Thumbs.db IDE atau fail konfigurasi editor teks.

.gitignore

Fail .gitignore setempat biasanya diletakkan di direktori root repositori. Bagaimanapun, anda boleh membuat beberapa .gitignore fail dalam subdirektori yang berbeza dalam repositori anda. Corak dalam fail .gitignore sepadan dengan direktori di mana fail berada.

Corak yang ditakrifkan dalam fail yang berada di direktori peringkat rendah (sub-direktori) mempunyai keutamaan di atas direktori yang lebih tinggi.

Fail tempatan .gitignore dikongsi dengan pemaju lain dan harus mengandungi corak yang berguna untuk semua pengguna lain repositori.

Aturan Abaikan Peribadi

Corak yang khusus untuk repositori tempatan anda dan tidak boleh diagihkan ke repositori lain, sepatutnya ditetapkan dalam .git/info/exclude .

Sebagai contoh, anda boleh menggunakan fail ini untuk mengabaikan fail yang dihasilkan dari alat projek peribadi anda.

Global .gitignore

Git juga membolehkan anda membuat fail .gitignore global, di mana anda boleh menentukan peraturan yang tidak diendahkan untuk setiap repositori Git pada sistem tempatan anda.

Fail boleh dinamakan apa sahaja yang anda suka dan disimpan di mana-mana lokasi. Tempat yang paling biasa untuk menyimpan fail ini ialah direktori rumah. Anda perlu membuat fail secara manual dan konfigurasikan Git untuk menggunakannya.

Sebagai contoh, untuk menetapkan ~/.gitignore_global sebagai Git global mengabaikan fail, anda akan melakukan yang berikut:

  1. Buat fail:

    touch ~/.gitignore_global

    Tambah fail ke konfigurasi Git:

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

    Buka fail dengan editor teks anda dan tambahkan peraturan anda.

Peraturan global sangat berguna untuk mengabaikan fail tertentu yang anda tidak mahu lakukan, seperti fail yang mempunyai maklumat sensitif atau executable yang dikumpulkan.

Mengabaikan Fail Sebelum Komited

Fail-fail dalam salinan kerja anda boleh dijejaki atau tidak dilayan.

Untuk mengabaikan fail yang telah dilakukan sebelum ini, anda perlu membongkar dan mengeluarkan fail dari indeks itu, dan kemudian menambahkan peraturan untuk fail dalam .gitignore :

git rm --cached filename

Opsyen --cached memberitahu git tidak untuk memadam fail dari pokok kerja tetapi hanya untuk mengeluarkannya dari indeks.

Untuk mengalihkan direktori secara rekursif, gunakan pilihan -r :

git rm --cached filename

Apabila secara automatik memadamkan fail, gunakan pilihan -n yang akan melakukan "run kering" dan tunjukkan kepada anda apa fail akan dipadamkan:

git rm -r -n directory

Debugging .gitignore File

Kadang-kadang ia boleh mencabar untuk menentukan mengapa fail tertentu sedang diabaikan, terutamanya apabila anda menggunakan beberapa .gitignore fail atau corak kompleks. Ini adalah di mana git check-ignore arahan dengan pilihan -v , yang memberitahu git untuk memaparkan butiran tentang corak yang sepadan, berguna.

Sebagai contoh, untuk memeriksa mengapa fail www/yarn.lock tidak diendahkan anda akan berjalan:

git check-ignore -v www/yarn.lock

Output menunjukkan laluan ke fail gitignore , bilangan baris yang hampir sama, dan pola sebenar.

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

Perintah ini juga menerima lebih daripada satu nama fail sebagai argumen, dan fail tidak perlu wujud dalam pokok kerja anda.

Memaparkan Semua Fail Diabaikan

Perintah git status dengan pilihan --ignored memaparkan senarai semua fail yang tidak --ignored :

git status --ignored

Kesimpulannya

Fail .gitignore membenarkan anda mengecualikan fail daripada diperiksa ke repositori. Fail ini mengandungi corak globbing yang menggambarkan fail dan direktori mana yang harus diabaikan.

gitignore.io adalah perkhidmatan dalam talian yang membolehkan anda menjana .gitignore fail untuk sistem operasi anda, bahasa pengaturcaraan, atau IDE.