Cara melacak $ HOME dengan git

10

Saya ingin melacak dir $ HOME saya dengan git. Saya punya banyak repo git lainnya di subdirs lain (mis. $ HOME / proyek / repo_1 dan sebagainya), yang seharusnya tidak dilacak, karena sudah ada.

Saya telah menemukan git-home-history tetapi tampaknya dari arsip bahwa proyek ini tidak lagi dikembangkan secara aktif.

Pendekatan apa yang Anda rekomendasikan? Apakah ghh cukup dewasa?

Saya menggunakan Mac tetapi saya juga tertarik pada solusi lintas platform.

Terima kasih

ps: Saya sudah mencari tetapi tidak menemukan duplikat, harap tunjukkan jika ini sudah dibahas.

Francesco
sumber

Jawaban:

5

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 .

intuisi
sumber
Anda memahami kasus penggunaan saya: sebenarnya saya tertarik dengan skrip dan konfigurasi versi. Saya akan pergi dengan pendekatan dasar ini.
Francesco
FYI: Masalah yang saya hadapi saat ini adalah saya tidak ingin melakukan percabangan direktori .vim saya ketika mengerjakan komponen baru. Saya sedang mempertimbangkan banyak pendekatan yang berbeda: Saya mungkin akan akhirnya membaginya menjadi modul terpisah menggunakan filter-branch, dan membuat klon 'work in progress' dari itu dalam subdirektori ~. Ini tampaknya menjadi strategi yang secara umum bermanfaat: Saya berharap bahwa akan sama bermanfaatnya untuk mengkloning seluruh dir home repo saya, kemudian menguji skrip setelah menetapkan $ HOME ke direktori clone. Saya tidak yakin seberapa dihormati variabel lingkungan itu secara universal, tetapi saya akan lihat.
intuited
0

Anda dapat menggunakan git di direktori home Anda, lalu gunakan submit git atau pohon revisi untuk proyek-proyek git eksternal yang Anda kerjakan.

edgester
sumber