Ketika pertama kali belajar terkait git saya sempet bingung antara git dan github merupakan satu kesatuan yang harus di pakai bersamaan atau tidak. Ternyata git dan github adalah sesuatu terpisah yang dapat bekerja secara independent, terpisah, namun akan  lebih produktif jika bisa mengkolaborasikan keduanya.

Git merupakan Version Control System(VCS), disebut juga revision control system atau source code management adalah sistem yang mengelola perubahan dari sebuah dokumen, program komputer, website dan kumpulan informasi lain.
Berikut fungsi git sebagai Version Control System:
  • Sebuah sistem yang menyimpan rekaman/snapshot perubahan pada source code
  • Memungkinkan bekerja berkolaborasi dengan lebih baik
  • Mengetahui siapa yang melakukan dan kapan sebuah perubahan terjadi
  • Memungkinkan kita untuk kembali ke keadaan sebelum perubuhan(checkout)
Apakah VCS itu hanya git? jawabannya tentunya tidak karena selain git ada juga svn, mercurial, cvs. Git layaknya sebuah software untuk mengelola perubahan file di dalam folder(repository / repo). Riwayat perubahan file disimpan menggunakan serangkaian commit. Snapshot  atau rekaman dari git adalah history dari commit itu sendiri.

Github adalah sebuah website atau layanan cloud yang digunakan untuk menyimpan & mengelola project/repo git. Intinya github ini bisa melakukan hal yang sama dengan git lokal seperti inisialisasi repo, commit, membuat branch dsb hanya bedanya kalau di github kita melakukannya secara online. Jika kita mampu menggabungkan anatara git local dengan di github maka ini sangat memudahkan nantinya dalam berkolaborasi untuk mengrimkan(Push) maupun mengambil(Pull) project atau repo yang ada di github ke komputer begitu juga sebaliknya. 

Perlu diingat juga ketika kita melakukan pengelolaan repo yang di push atau pull adalah committannya jadi kita mengambil commit dan mengirim commit. Untuk dapat melakukan kolaborasi ini  seperti ini syaratnya kalian harus membuat github ini menjadi sesuatu yang disebut dengan remote(sumber dari repo kalian) yang naninya di clone suapaya terkoneksi antara repo di github dengan repo di komputer lokal. Layanan yang serupa dengan github  adalah seperti bitbucket dan gitlab.

Recap terkait topik ini :
  • Version Control System adalah Sistem yang menyimpan dan mengelola perubahan atau snapshot dari source code
  • Gti adalah salah satu sofware yang bisa melakukan VCS
  • Github adalah Website/layanan untuk mengelola project Git.
  • Repo adalah folder project kita yang diinisialisasi menjadi project Git.
  • commit adalah rekaman/snapshot dari repo kita
  • hash adalah penanda unik pada sebuah commit
  • checkout adalah berpindah ke sebuat commit
  • branch adalah cabang bebasa dari sebuah commit
  • merge adalah menggabungkan branch
  • remote adalah sumber yang memiliki repo
  • clone adalah mengambil repo dari remote
  • push adalah mengirimkan commit ke repo
  • pull adalah commit dari repo







No comments:

Post a Comment