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.el
sebelumnya, 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.