Git vs SVN

Git vs SVN

branch

Sudahkah Anda memakai Version Control Software (VCS)? Penggunaan VCS tidak dibatasi oleh aktivitas yang melibatkan teks saja. Keperluan untuk menyimpan sejarah dokumen, apapun bentuknya, telah menjadi kebutuhan banyak orang. Perusahaan konstruksi pun perlu menggunakan VCS.

Historical value

VCS memberikan kemampuan untuk melihat masa lalu. Dokumen yang ada hari ini bisa kita lacak kembali ke masa awal pembuatannya. Misalnya Anda adalah pegawai baru, dengan VCS Anda akan tahu bagaimana dokumen kesepakatan dievaluasi secara periodikal. Tidak perlu lagi mengandalkan orang untuk mengingat-ingat atau menyimpan bertumpuk-tumpuk kertas atau dokumen digital yang mewakili setiap versi.

Collaboration and Conflict Resolution

VCS juga menjadi alat bantu kolaborasi yang cukup mumpuni. Salah satu masalah besar dalam kolaborasi adalah concurrent access. Setiap orang bisa memodifikasi dokumen sesuai kepentingannya di bagian manapun. Jika proses kolaborasi ini difasilitasi dengan banyak dokumen maka akan muncul masalah siapa yang akan menggabungkan semua pengubahan yang telah dilakukan. Jika difasilitasi dengan satu dokumen yang dibagi bersama (bukan Google Doc) maka akan ada resiko saling menimpa pengubahan yang dilakukan orang lain.

Sentralisasi dan Desentralisasi

Sebenarnya bukan masalah antara Git vs SVN tapi lebih ke sentralisasi dan desentralisasi. VCS yang tersentral berarti tidak ada yang memiliki histori lengkap dari suatu dokumen kecuali server VCS. Sebaliknya, VCS yang terdesentralisasi memungkinkan semua orang memiliki histori lengkap dari sebuah dokumen.

Untuk keperluan pengembangan perangkat lunak, pola terdesentralisasi lebih punya banyak manfaat. Karena setiap orang bisa memiliki histori dokumen sendiri maka perubahan yang dilakukan oleh seorang pengguna tidak perlu dipush ke server. Sebaliknya dalam konsep tersentralisasi, setiap perubahan versi mau tidak mau harus dipush ke server.

Konsep desentralisasi memungkinan seorang pengembang melakukan perbaikan bug pada suatu cabang yang berlainan dengan pekerjaan menambah fitur baru (dalam kaitan dengan proyek/dokumen yang sama).

Ekosistem opensource yang sangat permisif terhadap forking (baca: jika tidak puas, Anda bisa membuat versi perngkat lunak Anda sendiri) sangat cocok dengan konsep desentralisasi. semua orang bisa bereksperimen dengan banyak hal baru tanpa harus mengganggu garis pengembangan utama. Proses penggabungan hasil eksperimen juga tidak susah.

So, Anda sudah pakai SCM? Apa yang Anda pakai dan sebutkan alasannya? Kenapa belum memakai?

14 thoughts on “Git vs SVN

  1. git dong =P imho, setiap programmer harus terbiasa menggunakan minimal satu vcs 🙂

    btw, dari awal make istilah VCS tp kok di akhir jadi SCM?

  2. Waktu kuliah sempat pake SVN, bahkan jadi admin SVN waktu jadi asisten lab.
    Di kantor yang lama, saya usulkan pakai SVN untuk memudahkan kolaborasi antar programmer. Saya jadi punya hosting di Dreamhost karena ngincer fitur svn-nya. Ternyata setelah tahu git, sekarang full pakai git. Project yang masih pake svn, saya ambil menggunakan git-svn. Jadi di komputer saya, semua kerjaan tersimpan di git.

    Punya hosting di Dreamhost ga sia-sia juga, karena dikasi akses ssh, jadinya tetap bisa pake git. Bisa compile git sendiri juga, jadi bisa pake versi terbaru 1.6.x.x (yang disediakan hosting versi 1.5.x.x)

  3. Blom pernah nyobain Git..pernah sebentar pake VSS (Visual Source Safe) nya Microsoft..
    Tapi dari dulu sampe sekarang masih seneng dan setia pake SVN untuk kerjaan kantor dan projek, baik repo yang disediakan kantor maupun yang gratisan (eg: assembla.com)
    Kan dirimu yang ngajarin diriku pake svn pas di kantor yang itu :p

  4. Menggunakan svn untuk keperluan menerjemahkan browser Opera ke berbagai bahasa. So far so good, belum mencoba git karena kebanyakan member sudah familiar dengan svn.

Comments are closed.

Comments are closed.