GNU/Linux >> Belajar Linux >  >> Linux

Pengantar Sistem Kontrol Versi

Jika Anda seorang programmer atau pengembang dan bekerja pada aplikasi perangkat lunak atau situs web apa pun, Anda pasti memerlukan beberapa sistem versi untuk melacak perubahan. Sistem Kontrol Versi juga disebut sebagai SCM (S sumber C ode Management) atau alat RCS (B evision C kendalikan S sistem).

Kontrol versi adalah metode atau kategori alat perangkat lunak yang membantu melacak perubahan dalam kode sehingga jika terjadi kesalahan, kita dapat membuat perbandingan dalam versi kode yang berbeda dan dapat dengan mudah kembali ke versi sebelumnya. Ini sangat membantu ketika banyak pengembang terus bekerja atau mengubah kode sumber.

Keuntungan Sistem Kontrol Versi

Dengan menggunakan VCS, pemrogram dapat meninjau riwayat proyek untuk mengetahui detail berikut:

  • Perubahan apa yang dilakukan pada kode?
  • Siapa yang membuat perubahan pada kode?
  • Kapan perubahan kode dilakukan?
  • Mengapa perubahan diperlukan?

Berikut adalah ilustrasi grafis sederhana yang memberi Anda gambaran tentang bagaimana sebenarnya VCS bekerja.

Pada gambar di atas, baris pertama dengan bola biru muda adalah cabang master yang merupakan cabang utama dari kode sumber. Jadi v0.1 dan v0.2 adalah beberapa versi yang dibuat untuk mengambil jenis snapshot dari seluruh kode sumber. Kami telah membuat beberapa cabang dari cabang master seperti cabang rilis, pengembangan, dan perbaikan terbaru sesuai dengan kebutuhan. Beberapa pengembang dapat mengerjakan proyek yang sama dengan membuat cabang yang berbeda dan pada akhirnya menggabungkannya ke cabang utama.

Jenis VCS

Ada dua jenis VCS, yaitu:

  1. Sistem kontrol versi terpusat (CVCS),
  2. Sistem kontrol versi terdistribusi (DVCS).

Pertama, mari kita lihat sekilas tentang sistem kontrol versi terpusat.

Sistem kontrol versi terpusat

Sistem kontrol versi terpusat bekerja pada hubungan Client-Server. Server akan memiliki semua informasi yang
ditransfer ke klien. Anda dapat mengatakan bahwa ini adalah semacam repositori bersama yang menyediakan kode terbaru untuk pengembang. Jadi pengembang akan mengerjakan salinan master setiap saat. Ini semudah Anda harus menarik salinan kode terbaru, mengerjakannya (melakukan perubahan) dan kemudian mendorong kode kembali ke repositori.

Kerugian utama dari VCS Terpusat adalah bahwa itu adalah satu titik kegagalan. Jika server pusat mati maka Anda tidak dapat menggunakannya. Jika Anda melakukan komit jarak jauh maka itu akan memakan waktu juga. Anda memerlukan konektivitas internet untuk melakukan perubahan apa pun.

Contoh:

  • Sumber terbuka -> Concurrent Versions System (CVS), Subversion (SVN).
  • Kepemilikan -> TeamCity, Vault, IBM Configuration Management Version Control (CMVC).

Sistem kontrol versi terdistribusi

Sistem kontrol versi terdistribusi memiliki repositori terpusat serta semua pengembang memiliki salinan repositori lokal.
Pengembang dapat mengerjakan salinan lokal mereka secara bersamaan. Mereka tidak memerlukan konektivitas internet untuk bekerja pada kode. Mereka dapat melakukan segala sesuatu dalam kode kecuali push dan pull. Jika server pusat mati maka juga tidak akan ada dampak karena repositori lokal.

Contoh:

  • Sumber terbuka - Git, Mercurial, Bazaar.
  • Kepemilikan - Layanan Tim Visual Studio, SCM Plastik.

Perbedaan antara arsitektur SVN (VCS Terpusat) dan GIT (VCS Terdistribusi)

Grafik berikut menjelaskan perbedaan antara CVCS dan DVCS.

Dari gambar di atas kita dapat dengan mudah mengenali bahwa di SVN (VCS Terpusat) kita hanya memiliki repositori pusat tetapi di GIT (VCS Terdistribusi) kita memiliki repositori pusat dan juga repositori lokal.

Semoga Anda mendapatkan ide dasar tentang VCS dan jenisnya. Kami akan menerbitkan lebih banyak panduan terkait VCS di masa mendatang. Tetap disini!

Bacaan terkait:

  • Apa itu Git dan cara menginstal Git di Linux

Tentang Penulis:

Dhruv Tiwari adalah Insinyur DevOps yang suka mengotomatisasi berbagai hal, bekerja dengan Linux dalam skala besar dan memimpikan hari ketika sistem cukup pintar untuk tidak perlu masuk ke kotak Linux. Perjalanan CI/CD dari kode sumber ke penerapan kode hingga produksi.


Linux
  1. Cara memeriksa Versi OS dan Linux

  2. Pengantar Daftar Kontrol Akses Linux (ACL)

  3. Bertahan dari audit keamanan dengan Linux perusahaan

  1. Pengantar singkat tentang peran Ansible untuk administrasi sistem Linux

  2. Cara memeriksa versi Kernel di Linux

  3. Linux – Di Mana Untuk Mengunduh Kode Sumber Kernel Linux Dari Versi Tertentu?

  1. Kontrol Versi Untuk /etc Di bawah *bsd?

  2. Di mana saya dapat menemukan kode sumber panggilan sistem?

  3. cara yang benar untuk menyandikan/menyematkan nomor versi dalam kode program