Saya menggunakan filter untuk membuat file saat checkout seperti dijelaskan di sini . Sekarang masalahnya adalah definisi filter hanya disimpan dalam file konfigurasi lokal saya:
$ cat .git/config
....
[filter "dater"]
smudge = /home/.../expand_date
clean = perl -pe \"s/\\\\\\$Date[^\\\\\\$]*\\\\\\$/\\\\\\$Date\\\\\\$/\"
Jika rekan kerja saya ingin mengambil manfaat dari Date
ekspansi ini , mereka perlu menyalin definisi filter saya. Dan jika saya mengubahnya, saya perlu memberi tahu mereka, dll.
Jadi bisakah saya menyimpan bagian definisi filter ini .git/config
dalam repositori dan membuat git menggunakannya?
Jawaban:
Ada 3 lingkup didukung dari
.gitconfig
berkas:--system, --global, --local
. Anda juga dapat membuat file konfigurasi khusus, dan memasukkannya ke dalam salah satu file yang didukung.Untuk kebutuhan Anda, kustom - adalah pilihan yang tepat. Alih-alih menulis filter
.git/config
Anda, Anda harus menyimpannya dalam.gitconfig
file di root repositori Anda:Buat
.gitconfig
dengan filter Anda dan lakukan perubahan. Maka kolega Anda akan selalu memperbaruinya - tetapi mereka harus memasukkannya secara manual. Tidak mungkin untuk secara otomatis memasukkan file konfigurasi khusus Anda melalui git saja, karena itu menciptakan kerentanan keamanan.Untuk menerapkan konfigurasi ini untuk repositori tunggal, setiap pengguna harus menjalankan perintah berikut di
your-repo/
:Berhati-hatilah untuk tidak menyimpan data pribadi dalam kebiasaan
.gitconfig
, sepertiuser.*
menyimpannya di global Anda.gitconfig
.sumber
.gitconfig
dalam bukunya~/.gitconfig
. Tidak ada yang akan mengingatnya. Apakah ada cara untuk membuat git SELALU membaca repo.gitconfig
.configure
skrip atau sejenisnya yang harus dijalankan oleh pengguna, Anda dapat mengatur agar menyertakan (atau meminta pengguna untuk).--file
opsi aktifgit config
, Anda kemudian dapat mengaturnya untuk menunjuk pada repo Anda.gitconfig
. Saya belum mengujinya, tetapi sepertinya menjawab pertanyaan Anda. Anda dapat membacanya di dokumen. git-scm.com/docs/git-config#FILESAnda tidak dapat menggunakan
.gitconfig
file dalam repositori git secara default, tetapi Anda dapat menautkannya sehingga konfigurasi git akan diversi.Anda dapat menautkannya seperti itu:
Saya telah membuat skrip sederhana
gitconfig.sh
yang melakukannya untuk Anda (lebih cepat daripada menyalin) +.gitconfig
file sederhana jadi jika Anda mau, lihat repo ini https://github.com/HoBi/dotfiles .EDIT : Saya telah menghapus file, tetapi Anda dapat menemukannya di sini https://github.com/tenhobi/dotfiles/blob/7e4376c006c508370b82bc7bd37173fab51dbd01/git/.gitconfig.sh
sumber
~/
folder. Dan semua orang mungkin memiliki kebutuhan yang berbeda, jadi mengapa repot-repot semua orang dengan konfigurasi Anda di git repo. :-)