Untuk menjawab pertanyaan: jika Anda ingin mengecualikan file checkout tertentu, Anda dapat menggunakan checkout jarang
1) Masuk .git/info/sparse-checkout, tentukan apa yang ingin Anda simpan. Di sini, kami ingin semua (*) tetapi (perhatikan tanda seru) config.php:
/*
!/config.php
2) Beri tahu git bahwa Anda ingin jarang melakukan checkout
git config core.sparseCheckout true
3) Jika Anda sudah mendapatkan file ini secara lokal, lakukan apa yang dilakukan git pada checkout yang jarang (beri tahu ia harus mengecualikan file ini dengan mengatur flag "skip-worktree" di atasnya)
git update-index --skip-worktree config.php
4) Nikmati repositori di mana file config.php Anda adalah milik Anda - perubahan apa pun yang ada di repositori.
Harap dicatat bahwa nilai konfigurasi TIDAK HARUS berada dalam kontrol sumber:
- Ini merupakan pelanggaran keamanan potensial
- Ini menyebabkan masalah seperti ini untuk penyebaran
Ini berarti Anda HARUS mengecualikan mereka (memasukkannya ke dalam .gitignore sebelum komit pertama), dan membuat file yang sesuai pada setiap contoh tempat Anda checkout aplikasi Anda (dengan menyalin dan mengadaptasi file "templat")
Perhatikan bahwa, begitu file diambil oleh git, .gitignore tidak akan berpengaruh apa pun.
Karena itu, setelah file berada di bawah kendali sumber, Anda hanya memiliki dua pilihan (): - rebase semua riwayat Anda untuk menghapus file (dengan git filter-branch) - buat komit yang menghapus file. Ini seperti bertempur dalam pertempuran yang sulit, tetapi, yah, terkadang Anda harus hidup dengan itu.
config.phpdilakukan?