Apa itu Source Control? GitHub? SVN? TortoiseSVN?

  • 0
Source control adalah :

- Gudang Source Code
Tempat penyimpanan ataupun backup, bisa di lokal maupun di server.

- Versioned
Membuat berbagai versi, misalnya menambah fitur, salah ngehapus file, ataupun debugging. Kadang kita ingin melacak kembali source code yang kita buat, siapa yang ngotak-ngatik file tersebut, dan kenapa dia melakukan perubahan.

- Facilitates multiple developers
Kalau kita kerja sendirian, mungkin ini bukan masalah. Tapi seandainya kita bekerja dalam sebuah tim atau sebuah proyek open source. Kita membutuhkan cara untuk  berbagi code, selain melalui email ataupun flash disk. ☺



Jenis-jenis Source Control (SC)

Pada dasarnya SC menjawab pertanyaan seperti bagaimana cara kita memodifikasi suatu code dalam satu file? Bagaimana cara kita berbagi code dengan yg lain?

- Locking
SC jenis ini 'mengunci' file yang sedang kita edit.
Ketika kita sedang mengedit code orang lain tidak bisa mengedit code itu, baru setelah kita commit atau selesai mengedit orang lain bisa mengedit code tersebut.
Kelemahannya adalah kita harus nunggu orang selesai koding baru deh kita bisa ngedit.

- Merging
SVN adalah SC jenis ini. Kita ga make sistem locking, tapi kita membuat versi sendiri-sendiri. Source Code yang diupload kita unduh dan edit di local disk kita. Nah baru setelah selesai, kita gabungin (merging).
Kadang SVN yang bagus bisa otomatis ngegabungin, kadang ya harus ngegabungin sendiri.

Misalnya programmer A nambahin di baris ke 795, programmer B nambahin di baris ke 1795.
Tiap perubahan yang dilakukan programmer A bakal ngasih komentar apa saja yang diubah dan seterusnya.

Bagaimana kalau kita ngedit baris yang orang lain hapus?
Nah itu dia kompleksitas yang harus diselesaikan. Ini juga yang membuat orang takut make SVN.
Contoh dari SVN yang terkenal adalah TortoiseSVN.

- Distributed
Git adalah SC jenis ini. Di GitHub setiap orang punya kopian dari source code. Dan tiap orang mengedit kodenya masing-masing. Untuk lebih lengkapnya saya posting di blog post berikutnya. ☺

No comments:

Post a Comment

Kalau mau komen, pada "Beri Komentar Sebagai : "
Pilih "Name/URL", atau pakai akun google kalau punya.