Kontrol Versi Berkas Konfigurasi

Sebagian software di sistem operasi GNU/Linux menyimpan konfigurasi yang telah dibuat ke dalam sebuah berkas yang tersimpan di direktori user's home. Melakukan kontrol versi pada berkas konfigurasi dapat sangat bermanfaat, terlebih jika penyuntingan berkas konfigurasi merupakan hal yang rutin dilakukan. Lebih-lebih lagi ketika melakukan migrasi ke sistem yang baru, hal ini akan meringankan langkah-langkah di kemudian hari.

Memulai Kontrol Versi

Kontrol versi yang dilakukan pada berkas konfigurasi pada folder user's home akan di kerjakan menggunakan Git, dengan memanfaatkan Git bare repository, tidak diperlukan alat tambahan lainnya, atau pembuatan symlinks pada berkas konfigurasi.

Mulai pengerjaan dengan baris perintah berikut:

git init --bare $HOME/.remember
echo "alias rmr='/usr/bin/git --git-dir=$HOME/.remember/ --work-tree=$HOME'" >> $HOME/.bashrc
source .bashrc
rmr config --local status.showUntrackedFiles no

Baris pertama pada baris perintah di atas adalah melakukan inisialisasi dengan membuat git bare repository di folder .remember. Kemudian pada baris selanjutnya, menambahkan alias bernama rmr ke dalam berkas .bashrc, hal ini dilakukan untuk mempersingkat baris perintah yang akan digunakan, pada kesempatan berikutnya. Baris perintah yang ketiga, yaitu melakukan konfigurasi git lokal supaya tidak menampilkan status dari berkas yang tidak dilacak(tracking).

Setelah menjalankan baris perintah di atas, kini sudah dapat dilakukan kontrol versi pada semua berkas yang ada di folder $HOME dengan menggunakan perintah rmr, yang telah dibuat alias-nya pada baris perintah sebelumnya. Baris perintah rmr dapat digunakan sebagaimana penggunaan baris perintah git pada umumnya, seperti berikut:

rmr add .bashrc
rmr status
rmr commit -m "first tracking bashrc"
rmr log
rmr push origin master

Migrasi Berkas Konfigurasi

Melakukan migrasi berkas konfigurasi di sistem yang baru, dengan melakukan kloning bare repository. Mulai pengerjaan sebagai berikut:

echo ".remember" >> .gitignore
alias rmr='/usr/bin/git --git-dir=$HOME/.remember/ --work-tree=$HOME'
git clone --bare REPO-URL $HOME/.remember
rmr checkout

Baris pertama dilakukan untuk menambahkan direktori .remember ke dalam daftar pengecualian lacak oleh git. Baris berikutnya berguna untuk menambahkan alias secara temporer pada shell yang aktif saat ini. Baris perintah ketiga dilakukan untuk kloning bare repository yang dimiliki sebelumnya. Baris perintah terakhir dilakukan untuk melakukan checkout dari repositori ke dalam $HOME. Pada baris perintah terakhir, kemungkinan akan muncul galat, seperti berikut:


error: The following untracked working tree files would be overwritten by checkout:
   .bashrc
Please move or remove them before you can switch branches.

Solusi yang dapat dilakukan adalah dengan menghapus berkas yang dimaksud bila tidak diperlukan, atau merubah nama berkas jika masih ragu. Lakukan checkout ulang untuk mengakhiri. Tidak lupa untuk melakukan konfigurasi lokal pada bare repository sebagai berikut:

rmr config --local status.showUntrackedFiles no

Berkas konfigurasi kini telah berhasil dimigrasikan ke sistem yang baru, proses kontrol versi dapat dilanjutkan sebagaimana sebelumnya dengan menggunakan perintah rmr.

Akhir Kata

Melakukan kontrol versi pada berkas konfigurasi dapat dikerjakan hanya menggunakan git tanpa diperlukan alat tambahan lain. Selain itu prosesnya juga relatif mudah, terlebih apabila sudah memiliki pemahaman dasar terkait proses kontrol versi itu sendiri dan juga penggunaan git.

Lisensi

© Hasannudin Amin - Hanya Hamba Allah Subhanahu wa Ta'ala