school


Silakan Cari Boss

Selamat Datang Di MBILLY BLOG'S

Kamis, 15 Juni 2017

Workshop Bersama Samsul Ma'arif (Pengenalan Git)

ASSALAMU'ALAIKUM Wr.Wb.
Hasil gambar untuk git

Pengertian Git
Git adalah Version Control System (VCS) untuk melacak perubahan pada file komputer dan mengkoordinasikan pekerjaan pada file-file di antara banyak orang. Hal ini terutama digunakan untuk manajemen kode sumber dalam pengembangan perangkat lunak , namun dapat digunakan untuk melacak perubahan dalam sekumpulan file. Sebagai sistem kontrol revisi terdistribusi, ini ditujukan untuk kecepatan, integritas data, dan dukungan untuk alur kerja terdistribusi dan non linier.

VCS sendiri adalah Version control system adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah berkas atau kumpulan berkas sehingga pada suatu saat anda dapat kembali kepada salah satu versi dari berkas tersebut.

Sejarah Git
Dari yang pernah saya baca, Git dikembangkan karena kebutuhan pengembangan kernel Linux. Sebelum menggunakan Git, pengembangan kernel Linux menggunakan DVCS (Distributed Version Control System) proprietary yang bernama BitKeeper, itu dimulai pada tahun 2002 hingga 2005.
Pada tahun 2005, hubungan antara komunitas pengembang Kernel Linux dan perusahaan komersil pembuat BitKeeper menjadi kurang baik, membuat status free-of-charge dicabut. Ini membuat komunitas pengembang Linux (dan terutama Linus Torvalds, pembuat Linux) akhirnya mengembangkan sendiri peralatan berdasarkan beberapa halyang dipelajari saat menggunakan BitKeeper. Beberapa tujuan sistem baru tersebut dibuat antara lain :
  • Kecepatan
  • Desain sederhana
  • Dukungan penuh untuk pengembangan non-linear (ribuan cabang secara paralel)
  • Terdistribusi secara penuh
  • Dapat menangani proyek skala besar seperti Kernel Linux secara efisien (kecepatan dan ukuran data)
Terpusat vs Terdistribusi
Banyak orang mungkin melakukan pengontrolan versi dengan menyalin berkas-berkas pada direktori yang berbeda. Cara ini sangat sederhana, namun cenderung rentan terhadap kesalahan. Oleh karena itulah sistem database versi diciptakan.

Version Control Local
Version Control Lokal
Kelemahan dari sistem ini adalah pengembang perlu melakukan kolaborasi dengan pengembang pada sistem lainnya. Untuk mengatasi permasalahan ini maka dibangunlah Centralized Version Control System (CVCSs).

Version Control Terpusat
 
Version Control Terpusat
Sistem seperti ini memiliki beberapa kelebihan, terutama jika dibandingkan dengan VCS lokal. Misalnya, setiap orang pada tingkat tertentu mengetahui apa yang orang lain lakukan pada proyek. Administrator memiliki kendali yang mantap atas siapa yang dapat melakukan apa; dan adalah jauh lebih mudah untuk mengelola sebuah CVCS dibandingkan menangani database lokal pada setiap client.
Walau demikian, sistem dengan tatanan seperti ini memiliki kelemahan serius. Kelemahan nyata yang direpresesntasikan oleh sistem dengan server terpusat. Jika server mati untuk beberapa jam, maka tidak ada seorangpun yang bisa berkolaborasi atau menyimpan perubahan terhadap apa yang mereka telah kerjakan.
Jika harddisk yang menyimpan basisdata mengalami kerusakan, dan salinan yang beran belum tersimpan, anda akan kehilangan setiap perubahan dari proyek kecuali snapshot yang dimiliki oleh setiap kolaborator pada komputernya masing-masing. VCS lokal juga mengalami nasib yang sama jika anda menyimpan seluruh history perubahan proyek pada satu tempat, anda mempunyai resiko kehilangan semuanya.

Version Control Terdistribusi
Version Control Terdistribusi
Lain halnya dengan DVCS (Distributed Version Control System) seperti Git, Mercurial, Bazaar atau Darcs. Klien tidak hanya melakukan checkout untuk snapshot terakhir setiap berkas, namun klien memiliki salinan penuh dari repositori tersebut.
Jadi, jika server mati, dan sistem berkolaborasi melalui server tersebut, maka klien manapun dapat mengirimkan salinan repositori tersebut kembali ke server. Setiap checkout pada DVCS merupakan sebuah backup dari keseluruhan data.
 
Alur Kerja Git
Description
  • Buat repositori
  • Salin revisi
  • Ubah, tambah, hapus
  • Kirim perubahan ke repositori

Tidak ada komentar:

Posting Komentar