Saya sudah melakukan ini untuk sementara waktu hanya menggunakan git. Saya tidak melacak seluruh direktori home, hanya bagian-bagian yang secara aktif saya ubah. Ini termasuk direktori home / bin saya, yang berisi banyak skrip kecil, direktori .vim saya, dan beberapa proyek besar di direktori lain. Juga ada beberapa konfigurasi untuk terminal dan openbox, serta berbagai aplikasi lain, ditambahkan ke repo.
Ini berfungsi cukup baik karena semua hal ini memiliki perizinan yang sama dan saya tidak peduli dengan cap waktu asli. Sudah sampai pada titik di mana saya berencana untuk memecahnya menjadi submodules menggunakan git filter-branch
. Ini agak rumit meskipun karena ada saling ketergantungan antara file dalam subdirektori yang berbeda (misalnya beberapa skrip .vim mungkin memanggil skrip dari direktori bin saya ... bukan contoh yang sangat bagus tapi mudah-mudahan Anda mendapatkan intinya).
Saya belum menemukan solusi yang lebih komprehensif, tetapi juga belum benar-benar melihat ke dalamnya, termasuk git-home-history. Sepertinya akan cukup rumit untuk meletakkan seluruh direktori home di bawah kendali revisi, dan akan ada banyak variabel. Sebagai contoh jika Anda meletakkan profil firefox Anda di bawah kontrol revisi, Anda akhirnya akan menumpuk banyak sekali perbedaan biner. Juga ada hal-hal seperti kunci ssh yang seringkali lebih baik hilang daripada digandakan.
Jika Anda ingin melacak izin (selain bit yang dapat dieksekusi, yang sudah git lacak) tampaknya ada sebuah pengait yang akan melakukan itu. Disebutkan di utas kesalahan server ini .