
Saat mengerjakan pekerjaan, kita sering kali melakukan revisi. misal saat membuat dokumen skripsi. biasanya kita akan simpan dengan nama dokumen_1, jika masih ada revisi kita akan simpan dengan nama document_3 dan seterusnya. kenapa kita melakukan itu ? agar bisa mengetahui perubahan yang terjadi antar revisi, dan jika sewaktu-waktu kita perlu menggunakan revisi sebelumnya.
Tapi cara ini kurang efisien, apalagi jika kita mengerjakan pekerjaan yang lebih besar, tugas yang lebih banyak, dan secara kelompok. mungkin akan jadi bencana. maka dari itu muncul lah version control system.
Version control system (vcs) adalah sebuah system yang melakukan source code management untuk mengelola perubahan di setiap dokumen, program komputer, website atau program lain nya. lebih jelasnya lihat analogi berikut

picture : https://www.dicoding.com/blog/perbedaan-git-dan-github/
contoh kasus, mahasiswa dalam mengerjakan skripsi, pasti ada revisi, dan revisi sebelumnya tidak akan di hapus sebagai perbandingan. kegiatan itu akan terus berlangsung sampai skripsi selesai.
konsep tersebut dianggap tidak efisien terutama di bidang programing karena kapasitas penyimpanan akan membengkak. maka dari itu hadir version control, version control ini berfungsi untuk mencatat setiap perubahan tanpa menambah file. contoh seperti ini

picture : https://www.dicoding.com/blog/perbedaan-git-dan-github/
setelah menggunakan vcs maka file yang di hasilkan hanya 1 dan setiap perubahan akan terekam ke dalam vcs.
salah satu vcs yang popular yaitu git
Git sendiri dikembangkan oleh Linus Torvalds, beliau adalah pencipta linux. tujuan git di ciptakan yaitu untuk mengatur setiap perubahan sistem operasi linux, karena sistem operasi linux open source, siapapun bisa berkontribusi.
Git bertugas mencatat setiap perubahan seluruh file atau repository dalam sebuah repository. dalam git ada beberapa prosedur, seperti commit yaitu menyimpan riwayat perubahan file, merge yaitu menghubungkan branch, monitor project dan lain lain

Git tidak terlepas dari github. Github adalah layanan cloud yang berguna untuk menyimpan dan mengelola project yang dinamakan repository. cara kerjanya sama seperti git komputer lokal bedanya di github kita bisa membagikan kode ke orang lain, berkolaborasi dalam mengerjakan project dan masih banyak lagi
Github bukan satu satunya layanan, ada gitlab dan bitbucket
untuk berikutnya kita akan membahas pendaftaran akun github, instalasi aplikasi git dan konfigurasi git seperti setting username dan email serta menambahkan ssh key ke akun github