Pengenalan Versioning System SVN, GIT Mengapa Anda Membutuhkannya?

Pusat Hosting – Sebelumnya saya tidak tahu apa ini Versioning System seperti SVN atau GIT dimana jika saya mendapatkan projek website saya selalu membuat duplikasi file yaitu 1 di komputer Desktop rumah dan 1 di laptop. Komputer laptop biasanya saya gunakan untuk demonstrasi ke client atau developing waktu di kantor sedangkan Komputer Desktop untuk pengerjaan dirumah.

Ya tahu sama tahu lah hampir semua programmer sukanya lembur kalau kerjaan belum kelar, jadi ketika saya mengerjakan projek di kantor menggunakan laptop sesampai rumah biasanya saya mengkopikan data pekerjaan terbaru ke komputer desktop dan melanjutkan bekerja lembur. begitu seterusnya.

Tapi sayangnya saya seringkali lupa, kadang suatu pagi posisi sudah sampai kantor dan baru ingat kalau ternyata saya lupa mengcopykan data terbaru ke laptop dari pekerjaan malam sebelumnya yang masih terdapat di komputer Desktop atau kadang sebaliknya saya salah menindih data yang ada di komputer Desktop atau malah yang paling parah lupa data yang terbaru terdapat di komputer yang mana bahkan pernah kejadian data hilang terhapus sehingga harus coding ulang.

Inilah kejadian yang sering terjadi beberapa waktu lalu, tapi setelah mengenal Versioning System seperti SVN atau GIT ternyata saya sangat terbantukan.

Apa yang dimaksud Versioning System SVN/Git?

Versioning system atau sering juga disebut Revision Control yaitu software yang berfungsi untuk mencatat perubahan berkala pada setiap file dengan detail pencatatan berupa :

  1. Tanggal perubahan
    Anda akan tahu kapan terakhir script tersebut dirubah
  2. User yang merubah
    Anda akan tahu user yang mana dalam tim anda yang melakukan perubahan
  3. Baris Kode perubahan
    Karena file dicatat waktu per waktu maka anda dapat membandingkan setiap baris kode perubahan

Dan dari 3 aturan tersebut kode akan dicatat sebagai Revisi #1, Revisi #2 dan seterusnya. Inilah yang dimaksud dengan Versioning system atau revision control.

Apa yang dapat dilakukan Versioning System SVN/GIT?

Berikut ini beberapa hal yang merupakan fungsi utama dapat dilakukan oleh Versioning system

  1. Undo System
    Sudah terlanjur merubah kode program eh tapi ternyata salah, maka dengan Versioning Sytem anda dapat mengembalikan kode seperti sebelum anda melakukan editing.
  2. Sinkronisasi
    Banyak kepala lebik bagus daripada satu kepala maka itu Versioning system ini mendukung pengerjaan secara team dan mencatat setiap perubahan yang terjadi tentu hal ini dapat diketahui dengan instan karena kode dapat dengan mudah segera disinkronisasi oleh setiap user.
  3. Tracking
    Seperti yang saya sampaikan, Versioning system mencatat berbagai perubahan yang terjadi sehingga anda dapat memonitor atau mentracking perubahan apa yang telah terjadi.

Beberapa Software Versioning System

  1. GIT adalah software versioning system gratis dan opensource yang di ciptakan oleh bapaknya Linux yaitu Linus Torvalds. Git digunakan pada projek kernel linux.
    Sumber Informasi seputar GIT :

     

  2. SVN atau Subversion adalah salah satu version control yang sangat populer seperti yang digunakan oleh Google Code
    Sumber informasi seputar SVN :

  3. Bazaar adalah version control yang ditulis dengan bahasa pemrograman python. Bazaar digunakan pada projek-projek seperti MySQL, Mailman, Launchpad dll
    Sumber informasi seputar Bazaar :

  4. Mercurial – salah satu version control yang ditulis pula menggunakan PyThon dimana sebelumnya hanya dapat dijalankan di sistem operasi Linux namun saat ini sudah mulai dapat dijalankan di beberapa Sistem Operasi
    Sumber informasi seputar Mercurial

Kalau saya sendiri dari beberapa contoh software diatas saya masih menggunakan SVN karena kebetulan menggunakan phpDesigner 7 yang masih mendukung SVN.

Pembahasan lainya seputar subversion bisa anda temukan pada Index Artikel Subversion

 

Share your vote!


Do you like this post?
  • Fascinated
  • Happy
  • Sad
  • Angry
  • Bored
  • Afraid

Leave a Reply

Your email address will not be published. Required fields are marked *