Saya menyimpan konfigurasi Emacs saya di Github karena saya menggunakan dua komputer yang berbeda, satu di tempat kerja, satu di rumah.
Berikut adalah daftar tentang hal-hal yang tidak saya masukkan ke dalam kendali sumber:
Pengaturan yang ditentukan lingkungan.
Sebagai contoh, Emacs saya membuka file org yang berbeda saat start-up di mesin yang berbeda. Anda tidak ingin mengkomit pengaturan ini ke dalam kontrol sumber.
Saya gunakan (require 'local nil t)untuk memuat pengaturan ini, tetapi tidak pernah melakukan local.el.
Paket yang dikelola oleh manajer paket
Ketika paket dikelola oleh manajer paket, saya sarankan untuk tidak menempatkan paket-paket itu ke dalam kontrol sumber. Karena:
- Anda harus berkomitmen setelah setiap pembaruan.
- Anda dapat kehilangan file penting yang menyimpan di tempat lain, yang membuat Anda tidak dapat melakukan sinkronisasi di komputer yang berbeda dengan benar.
Alih-alih melakukan paket, saya sarankan Anda melakukan mekanisme yang diakui oleh manajer paket Anda.
Sebagai contoh, saya menggunakan Tong untuk mengelola paket ke-3 saya, jadi saya hanya mengkomit file tong, yang berisi paket-paket tertentu yang saya inginkan.
Ketika saya gunakan package.elsebelumnya, konfigurasi saya akan memeriksa apakah paket diinstal / perlu diperbarui, jadi tidak ada paket yang dilakukan.
Namun , ada beberapa paket yang tidak ada di repositori paket mana pun, dalam hal ini, saya akan mengkomitnya ke kontrol sumber, seperti di site-lisp.
Semua file yang dihasilkan oleh paket
Sebagai contoh, semua autosave, file-file backup, tramp, eshell, recentf, bahkan custom.el. Saya memasukkan file-file ini ke dalam ~/.emacs/.gen, jadi saya bisa mengabaikan direktori ini.
File yang sering berubah tetapi harus disinkronkan
Seperti file kamus pribadi yang digunakan oleh aspell, basis data file yang digunakan oleh elfeed, Dalam hal ini, saya menggunakan Dropbox untuk menyinkronkannya di komputer yang berbeda. Jadi saya tidak akan lupa untuk berkomitmen.