Cara Mudah Sinkronkan File Antara Dua Komputer Lokal Menggunakan Git dengan Cepat

Bekerja dengan beberapa komputer lokal sekaligus kadang jadi tantangan terutama dalam menjaga konsistensi file. Menggunakan Git untuk menyinkronkan file antar mesin lokal bisa jadi solusi efektif dan efisien. Git menawarkan sistem version control yang handal serta memungkinkan backup dan histori kerja yang detail.

Alternatif lain seperti shared drive, SSH, atau rsync memang ada. Namun, bagi yang sudah familiar dengan Git, memanfaatkannya lebih menguntungkan karena Git adalah standar industri dan banyak didukung oleh berbagai aplikasi. Sistem ini juga memungkinkan sinkronisasi secara lokal tanpa bergantung pada cloud.

Mengapa Menghindari GitHub untuk Sinkronisasi Lokal?
GitHub memang populer sebagai host repository remote, tapi menggunakan GitHub memiliki beberapa kelemahan untuk sinkronisasi lokal. Salah satunya adalah ketergantungan pada koneksi internet dan potensi akses downtime. Selain itu, menyimpan file kerja yang mungkin mengandung data rahasia di server pihak ketiga menimbulkan risiko keamanan. Jika tidak memerlukan fitur kolaborasi yang ditawarkan GitHub, memakai server lokal jauh lebih cocok.

Langkah Awal: Mengaktifkan Remote Login (SSH)
Langkah pertama adalah mengaktifkan akses remote menggunakan SSH pada salah satu komputer yang akan menjadi host repository. Pada macOS, fitur ini disebut “Remote Login” dan bisa diaktifkan melalui pengaturan sistem. Setelah aktif, pengguna dapat mengakses komputer host melalui perintah terminal:

ssh username@ip-address

Hal ini memungkinkan transfer data secara aman antar mesin dalam jaringan lokal.

Penetapan IP Statik
Agar koneksi antar mesin tetap konsisten dan tidak terputus, penting untuk mengatur IP statik pada komputer host (dan jika perlu pada klien). Pengaturan ini biasanya dilakukan via router dengan memilih opsi agar IP yang diberikan ke komputer tidak berubah. Ini memudahkan konfigurasi Git dan memastikan alamat server selalu dapat dijangkau.

Membuat Kunci SSH
Untuk menghindari memasukkan password tiap kali sinkronisasi, buat SSH key pada komputer klien. Prosesnya mudah, cukup jalankan:

ssh-keygen

Setelah kunci dibuat, unggah ke mesin host menggunakan:

ssh-copy-id -i /path/to/key/file username@ip-address

Langkah ini mengamankan dan memperlancar koneksi antar mesin.

Membuat Repository Git Bare
Pada komputer host, buat repository Git tanpa work tree (bare repository) untuk menjadi pusat sinkronisasi. Jalankan perintah:

git init –bare

Git bare repository hanya berisi metadata yang dibutuhkan untuk operasi Git dan tidak menyimpan file kerja langsung. Ini menghindari masalah konflik ketika beberapa klien melakukan sinkron secara bersamaan.

Clone Repository pada Mesin Klien
Setiap komputer yang ingin melakukan sinkronisasi harus meng-clone repository dari host melalui SSH dengan format:

git clone username@ip-address:path-to-repo

Contohnya:

git clone bobby@192.168.1.196:/Users/bobby/src/repos/bare/myproject

Perintah ini membuat salinan file dan metadata Git ke mesin klien, siap untuk dikerjakan.

Bekerja Seperti Biasa dengan Git
Pengguna hanya perlu melakukan perubahan file, kemudian menambahkan dan meng-commit dengan perintah:

git add .
git commit -m ‘pesan commit’
git push

Selalu lakukan git push setelah selesai bekerja untuk menyimpan update ke repository pusat. Saat memulai kerja pada mesin lain, jalankan git pull untuk mengambil perubahan terbaru.

Opsi Otomasi Sinkronisasi
Untuk memudahkan, proses Git dapat diotomasi menggunakan cron job atau task scheduler. Ini memastikan sinkronisasi berjalan secara periodik tanpa harus dilakukan manual. Metode ini paling cocok jika perangkat tetap menyala dan dijadwalkan bekerja rutin.

Dengan langkah-langkah ini, sinkronisasi file antar mesin lokal menggunakan Git bisa dilakukan dengan mudah dan aman. Sistem ini menghilangkan kebutuhan transfer manual, menjaga integritas data, dan menyediakan histori perubahan lengkap tanpa tergantung pada layanan pihak ketiga. Pendekatan ini juga cocok untuk mereka yang mengutamakan privasi dan kontrol penuh atas data lokal.

Exit mobile version