SVN - Konsep Dasar

Apa itu Sistem Kontrol Versi?

Version Control System (VCS) adalah perangkat lunak yang membantu pengembang perangkat lunak untuk bekerja sama dan memelihara riwayat lengkap pekerjaan mereka.

Following are the goals of a Version Control System.

  • Izinkan pengembang untuk bekerja secara bersamaan.
  • Jangan menimpa perubahan satu sama lain.
  • Menjaga sejarah setiap versi dari segalanya.

A VCS is divided into two categories.

  • Sistem Kontrol Versi Terpusat (CVCS), dan
  • Sistem Kontrol Versi Terdistribusi / Terdesentralisasi (DVCS).

Dalam tutorial ini, kita hanya akan berkonsentrasi pada Sistem Kontrol Versi Terpusat dan terutama Subversion. Subversion berada di bawah sistem kontrol versi terpusat, artinya menggunakan server pusat untuk menyimpan semua file dan memungkinkan kolaborasi tim.

Terminologi Kontrol Versi

Mari kita mulai dengan membahas beberapa istilah yang akan kita gunakan dalam tutorial ini.

  • Repository:Repositori adalah jantung dari sistem kontrol versi apa pun. Ini adalah tempat utama di mana pengembang menyimpan semua pekerjaan mereka. Repositori tidak hanya menyimpan file tetapi juga sejarah. Repositori diakses melalui jaringan, bertindak sebagai server dan alat kontrol versi yang bertindak sebagai klien. Klien dapat terhubung ke repositori, dan kemudian mereka dapat menyimpan / mengambil perubahan mereka ke / dari repositori. Dengan menyimpan perubahan, klien membuat perubahan ini tersedia untuk orang lain dan dengan mengambil perubahan, klien mengambil perubahan orang lain sebagai salinan pekerjaan.

  • Trunk: Batang adalah direktori tempat semua pengembangan utama terjadi dan biasanya diperiksa oleh pengembang untuk mengerjakan proyek.

  • Tags: Direktori tags digunakan untuk menyimpan snapshot dari proyek yang bernama. Operasi tag memungkinkan untuk memberikan nama yang deskriptif dan mudah diingat ke versi tertentu dalam repositori.

    Misalnya, LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT lebih berkesan daripada

    Repositori UUID: 7ceef8cb-3799-40dd-a067-c216ec2e5247 dan

    Revisi: 13

  • Branches:Operasi cabang digunakan untuk membuat jalur pengembangan lain. Ini berguna saat Anda ingin proses pengembangan Anda terbagi menjadi dua arah yang berbeda. Misalnya, saat Anda merilis versi 5.0, Anda mungkin ingin membuat cabang sehingga pengembangan fitur 6.0 dapat dipisahkan dari perbaikan bug 5.0.

  • Working copy:Copy pekerjaan adalah snapshot dari repositori. Repositori digunakan bersama oleh semua tim, tetapi orang tidak mengubahnya secara langsung. Sebagai gantinya, setiap pengembang memeriksa copy pekerjaan. Salinan pekerjaan adalah tempat kerja pribadi di mana pengembang dapat melakukan pekerjaan mereka dengan tetap terisolasi dari anggota tim lainnya.

  • Commit changes:Commit adalah proses menyimpan perubahan dari tempat kerja pribadi ke server pusat. Setelah komit, perubahan tersedia untuk semua tim. Pengembang lain dapat mengambil perubahan ini dengan memperbarui copy pekerjaan mereka. Komit adalah operasi atom. Seluruh komit berhasil atau dibatalkan. Pengguna tidak pernah melihat komit setengah jadi.