Cara Menggunakan Sistem Kontrol Versi Git di Linux [Panduan Komprehensif]


Kontrol Versi (kontrol revisi atau kontrol sumber) adalah cara mencatat perubahan pada file atau kumpulan file dari waktu ke waktu sehingga Anda dapat mengingat versi tertentu di kemudian hari. Sistem kontrol versi (atau singkatnya VCS) adalah alat yang mencatat perubahan pada file di sistem file.

Ada banyak sistem kontrol versi di luar sana, namun Git saat ini adalah yang paling populer dan sering digunakan, terutama untuk pengelolaan kode sumber. Kontrol versi sebenarnya dapat digunakan untuk hampir semua jenis file di komputer, tidak hanya kode sumber.

Sistem/alat kontrol versi menawarkan beberapa fitur yang memungkinkan individu atau sekelompok orang untuk:

  • membuat versi proyek.
  • melacak perubahan secara akurat dan menyelesaikan konflik.
  • menggabungkan perubahan menjadi versi umum.
  • kembalikan dan batalkan perubahan pada file yang dipilih atau keseluruhan proyek.
  • mengakses versi historis suatu proyek untuk membandingkan perubahan dari waktu ke waktu.
  • lihat siapa yang terakhir mengubah sesuatu yang mungkin menyebabkan masalah.
  • membuat cadangan proyek di luar lokasi yang aman.
  • menggunakan banyak mesin untuk mengerjakan satu proyek dan banyak lagi.

Sebuah proyek di bawah sistem kontrol versi seperti Git akan memiliki tiga bagian utama, yaitu:

  • repositori: database untuk mencatat status atau perubahan pada file proyek Anda. Ini berisi semua metadata dan objek Git yang diperlukan untuk proyek baru. Perhatikan bahwa ini biasanya disalin ketika Anda mengkloning repositori dari komputer lain di jaringan atau server jarak jauh.
  • direktori atau area kerja: menyimpan salinan file proyek yang dapat Anda kerjakan (melakukan penambahan, penghapusan, dan tindakan modifikasi lainnya).
  • area pementasan: sebuah file (dikenal sebagai indeks di bawah Git) di dalam direktori Git, yang menyimpan informasi tentang perubahan, yang siap Anda terapkan (menyimpan status file atau kumpulan file) ke repositori.

Ada dua tipe utama VCS, dengan perbedaan utama terletak pada jumlah repositori:

  • Sistem Kontrol Versi Terpusat (CVCS): di sini setiap anggota tim proyek mendapatkan direktori kerja lokalnya sendiri, namun, mereka melakukan perubahan hanya pada satu repositori pusat.
  • Sistem Kontrol Versi Terdistribusi (DVCS): di bawah ini, setiap anggota tim proyek mendapatkan direktori kerja lokal dan direktori Git mereka sendiri di mana mereka dapat membuat komitmen. Setelah seseorang membuat komitmen secara lokal, anggota tim lainnya tidak dapat mengakses perubahan sampai dia memasukkannya ke repositori pusat. Git adalah contoh DVCS.

Selain itu, repositori Git bisa kosong (repositori yang tidak memiliki direktori kerja) atau non-kosong (repositori dengan direktori kerja direktori). Repositori Bersama (atau publik atau terpusat) harus selalu kosong – semua repositori Github juga kosong.

Pelajari Kontrol Versi dengan Git

Git adalah sistem kontrol versi gratis dan sumber terbuka, cepat, kuat, terdistribusi, mudah digunakan, dan populer yang sangat efisien dengan proyek besar, dan memiliki sistem percabangan dan penggabungan yang luar biasa. Ini dirancang untuk menangani data lebih seperti serangkaian snapshot dari sistem file mini, yang disimpan dalam direktori Git.

Alur kerja di bawah Git sangat sederhana: Anda membuat modifikasi pada file di direktori kerja Anda, lalu secara selektif menambahkan hanya file-file yang telah berubah, ke staging area, untuk menjadi bagian dari penerapan Anda berikutnya.

Setelah Anda siap, Anda melakukan komit, yang mengambil file dari staging area dan menyimpan snapshot tersebut secara permanen ke direktori Git.

Untuk menginstal Git di Linux, gunakan perintah yang sesuai dengan distribusi pilihan Anda:

sudo apt install git   [On Debian/Ubuntu]
sudo yum install git   [On CentOS/RHEL]

Setelah menginstal Git, disarankan agar Anda memberi tahu Git siapa Anda dengan memberikan nama lengkap dan alamat email Anda, sebagai berikut:

git config --global user.name “Aaron Kili”
git config --global user.email “[email ”

Untuk memeriksa pengaturan Git Anda, gunakan perintah berikut.

git config --list 

Membuat Repositori Git Baru

Repositori Bersama atau alur kerja terpusat sangat umum dan itulah yang akan kami tunjukkan di sini. Misalnya, kami berasumsi bahwa Anda ditugaskan untuk menyiapkan repositori pusat jarak jauh untuk administrator sistem/pemrogram dari berbagai departemen di organisasi Anda, untuk mengerjakan proyek bernama bashscripts, yang akan disimpan di bawah /projects/scriptpts/ di server.

SSH ke server jarak jauh dan buat direktori yang diperlukan, buat grup bernama sysadmins (tambahkan semua anggota tim proyek ke grup ini misalnya admin pengguna), dan atur izin yang sesuai pada direktori ini.

mkdir-p /projects/scripts/
groupadd sysadmins
usermod -aG sysadmins admin
chown :sysadmins -R /projects/scripts/
chmod 770 -R /projects/scripts/

Kemudian inisialisasi repositori proyek kosong.

git init --bare /projects/scripts/bashscripts

Pada titik ini, Anda telah berhasil menginisialisasi direktori Git kosong yang merupakan fasilitas penyimpanan pusat untuk proyek tersebut. Coba lakukan listing direktori untuk melihat semua file dan direktori yang ada di sana:

ls -la /projects/scripts/bashscripts/

Mengkloning Repositori Git

Sekarang kloning repositori Git bersama jarak jauh ke komputer lokal Anda melalui SSH (Anda juga dapat mengkloning melalui HTTP/HTTPS jika Anda memiliki server web yang terinstal dan dikonfigurasi dengan tepat, seperti halnya kasus dengan sebagian besar repositori publik di Github), misalnya:

git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts 

Untuk mengkloningnya ke direktori tertentu (~/bin/bashscripts), gunakan perintah di bawah ini.

git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts ~/bin/bashscripts

Anda sekarang memiliki instance lokal proyek di repositori non-kosong (dengan direktori kerja), Anda dapat membuat struktur awal proyek (yaitu menambahkan README.md file , subdirektori untuk berbagai kategori skrip, misalnya pengintaian untuk menyimpan skrip pengintaian, sysadmin ro menyimpan skrip sysadmin, dll.):

cd ~/bin/bashscripts/
ls -la

Periksa Ringkasan Status Git

Untuk menampilkan status direktori kerja Anda, gunakan perintah status yang akan menunjukkan perubahan apa pun yang telah Anda buat; file mana yang tidak dilacak oleh Git; perubahan-perubahan yang telah dilakukan dan seterusnya.

git status 

Perubahan Tahap Git dan Komit

Selanjutnya, lakukan semua perubahan menggunakan perintah add dengan saklar -A dan lakukan penerapan awal. Flag -a menginstruksikan perintah untuk secara otomatis menampilkan file yang telah dimodifikasi, dan -m digunakan untuk menentukan pesan commit:

git add -A
git commit -a -m "Initial Commit"

Publikasikan Komit Lokal ke Repositori Git Jarak Jauh

Sebagai pemimpin tim proyek, setelah Anda membuat struktur proyek, Anda dapat mempublikasikan perubahan ke repositori pusat menggunakan perintah push seperti yang ditunjukkan.

git push origin master

Saat ini, repositori git lokal Anda harus diperbarui dengan repositori pusat proyek (asal), Anda dapat mengonfirmasi hal ini dengan menjalankan perintah status sekali lagi.

git status

Anda juga dapat memberi tahu kolega Anda untuk mulai mengerjakan proyek dengan mengkloning repositori ke komputer lokal mereka.

Buat Cabang Git Baru

Percabangan memungkinkan Anda mengerjakan fitur proyek Anda atau memperbaiki masalah dengan cepat tanpa menyentuh basis kode (cabang master). Untuk membuat cabang baru dan kemudian beralih ke cabang tersebut, gunakan perintah branch dan checkout masing-masing.

git branch latest
git checkout latest

Alternatifnya, Anda dapat membuat cabang baru dan beralih ke cabang tersebut dalam satu langkah menggunakan perintah checkout dengan tanda -b.

git checkout -b latest

Anda juga dapat membuat cabang baru berdasarkan cabang lain, misalnya.

git checkout -b latest master

Untuk memeriksa di cabang mana Anda berada, gunakan perintah cabang (karakter asterisk menunjukkan cabang yang aktif):

git branch

Setelah membuat dan beralih ke cabang baru, buat beberapa perubahan di bawahnya dan lakukan beberapa komitmen.

vim sysadmin/topprocs.sh
git status
git commit add  sysadmin/topprocs.sh
git commit -a -m 'modified topprocs.sh'

Gabungkan Perubahan Dari Satu Cabang ke Cabang Lainnya

Untuk menggabungkan perubahan di bawah pengujian cabang ke dalam cabang master, beralihlah ke cabang master dan lakukan penggabungan.

git checkout master 
git merge test 

Jika Anda tidak lagi membutuhkan cabang tertentu, Anda dapat menghapusnya menggunakan saklar -d.

git branch -d test

Unduh Perubahan Dari Repositori Pusat Jarak Jauh

Dengan asumsi anggota tim Anda telah memasukkan perubahan ke repositori proyek pusat, Anda dapat mengunduh perubahan apa pun ke instance lokal proyek Anda menggunakan perintah tarik.

git pull origin
OR
git pull origin master	#if you have switched to another branch

Periksa Repositori Git dan Lakukan Perbandingan

Di bagian terakhir ini, kami akan membahas beberapa fitur Git berguna yang melacak semua aktivitas yang terjadi di repositori Anda, sehingga memungkinkan Anda melihat riwayat proyek.

Fitur pertama adalah Git log, yang menampilkan log komit:

git log

Fitur penting lainnya adalah perintah show yang menampilkan berbagai jenis objek (seperti penerapan, tag, pohon, dll.):

git show

Fitur penting ketiga yang perlu Anda ketahui adalah perintah diff, digunakan untuk membandingkan atau menunjukkan perbedaan antar cabang, menampilkan perubahan antara direktori kerja dan indeks, perubahan antara dua file pada disk dan banyak lagi.

Misalnya untuk menunjukkan perbedaan antara master dan cabang terbaru, Anda dapat menjalankan perintah berikut.

git diff master latest

Baca Juga: 10 Alternatif Git Terbaik untuk Menghosting Proyek Sumber Terbuka

Ringkasan

Git memungkinkan sekelompok orang untuk bekerja sama menggunakan file yang sama, sambil mencatat perubahan pada file dari waktu ke waktu sehingga mereka dapat mengingat versi tertentu di kemudian hari.

Dengan cara ini, Anda dapat menggunakan Git untuk mengelola kode sumber, file konfigurasi, atau file apa pun yang disimpan di komputer. Anda mungkin ingin merujuk ke Dokumentasi Git Online untuk dokumentasi lebih lanjut.