Minggu, 10 Januari 2021

Version Control System Git dan Github

INTRO

Pernah endak sih kalian nulis skripsi terus ketika dapat revisian dari dosen, kalian rename file kalian jadi "skirpsi-revisi" terus nanti setelah direvisi kalian bikin laagi file dengan nama "skripsi-revisi-lagi", hehehe. Atau jika kalian pernah membuat suatu software, versi dari software itu misal version 1.0.1 terus sewaktu kalian update kalian rename jadi version 1.0.2. Nah sekarang bayangkan jika file skripsi yang kalian buat itu banyak mengalami revisi atau jika software yang kalian buat itu juga banyak melakukan update, mungkin akan sangat memusingkan untuk memanajemennya kan, atau bahkan bisa jadi malah kalian salah merevisi atau salah update, wadawww. Atau jika kalian sedang mengerjakan suatu proyek secara bersama- sama, bagaimana mengatur agar bagian-bagian yang dikerjakan dapat di kerjakan secara terpisah dan kemudian digabungkan kembali dengan efisien?... Untuk menjawab dinamika-dinamika diatas, dibuatlah GIT dan GITHUB sebagai Version Control. Mari kita bahas secara singkat dan padat.


PENGERTIAN

1. Version Control System (VCS)


Version control system adalah perangkat lunak dan merupakan alat yang membantu seseorang atau tim dalam mengelola suatu perubahan pada proyek yang dilakukan secara realtime dan kolaboratif serta disimpan secara historis pada suatu tempat penyimpanan data pada sistem.

2. Git


Git merupakan Version control system (VCS) yang dikembangkan oleh Linux Torvald ketika mengembangkan Linux (kernel). Git merupakan decentralized version control system. Git mempunyai keunggulan seperti repository syncing, bekerja secara offline, cheap local branching, staging area yang nyaman, mampu menangani proyek besar seperti Kernel Linux secara efektif dalam hal kecepatan dan ukuran data, mendukung non-linear development, dan multiple workflow. Selain itu Git digunakan di berbagai layanan VCS seperti Github, Bitbucket, Assembla, dan Gitorious.

Developer software biasa menggunakan Git untuk distributed revision (VCS terdistribusi), hal ini bertujuan untuk menyimpan database tidak hanya ke satu tempat. Namun semua orang yang terlibat dalam penyusunan kode dapat menyimpan database ini. Prosedur yang diterapkan ini dapat membantu antar divisi project untuk memantau dan menghubungkan (merge) antar ekstensi yang berbeda dengan mudah. Sehingga aplikasi yang dibuat oleh sebuah tim project dapat berfungsi tanpa menghubungkan secara manual.

Terdapat istilah commit pada Git yang berfungsi untuk menyimpan riwayat perubahan data pada file. Melalui commit, developer dapat kembali ke source code sebelumnya dengan istilah checkout. Untuk mengoperasikan Git, kamu perlu menginstall software terlebih dahulu sehingga pekerjaan ini dapat dilakukan secara offline (tidak terkoneksi internet). Software ini juga tersedia secara gratis melalui web unduhan resminya di Git Downloading.

contoh penggunaan Git:
$ git init
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
$ git push origin master
3. Github

GitHub sering dipandang sebagai alternatif untuk Git. Ini sebenarnya kurang tepat secara level fundamental. Banyak orang cenderung mencampuradukkan Git dan GitHub. GitHub adalah layanan hosting. Digunakan untuk melacak perubahan dan mengubah kode sumber tertentu. Meskipun Github menyediakan semua fungsi Git, GitHub juga menambahkan beberapa fungsinya sendiri. Beberapa terminologi dalam Github sebagai berikut:

a. Repository
Repositori (biasanya disingkat “repo”) adalah lokasi tempat semua file untuk proyek tertentu disimpan. Setiap proyek memiliki repo sendiri, dan Anda dapat mengaksesnya dengan URL unik. 

b. Forking a Repo
“Forking” adalah ketika kita membuat proyek baru berdasarkan dari proyek lain yang sudah ada. Ini adalah fitur yang dapat mendorong pengembangan lebih lanjut dari program dan proyek lainnya. Jika Anda menemukan proyek di GitHub yang ingin Anda beri kontribusi, Anda dapat mem-fork repo, membuat perubahan, dan merilis proyek yang direvisi sebagai repo baru. Jika repositori asli yang Anda fork untuk membuat proyek baru Anda telah diperbarui, Anda dapat dengan mudah menambahkan pembaruan itu ke hasil fork Anda sebelumnya.

c. Pull Requests
Anda telah membuat repositori, membuat revisi, dan ingin itu diakui oleh pengembang asli — bahkan mungkin dimasukan dalam proyek / repositori resmi. Anda dapat melakukannya dengan membuat pull requests (permintaan tarik). Penulis repositori asli dapat melihat karya Anda, dan kemudian memilih apakah akan menerimanya atau tidak ke dalam proyek resmi. Setiap kali Anda mengeluarkan permintaan tarik, GitHub menyediakan media yang sempurna untuk Anda dan pengelola proyek utama untuk berkomunikasi.

d. Social networking
Aspek jejaring sosial GitHub mungkin adalah fitur yang paling kuat, yang memungkinkan proyek untuk tumbuh lebih dari hampir semua fitur lain yang ditawarkan. Setiap pengguna di GitHub memiliki profil mereka sendiri yang bertindak seperti semacam resume, menunjukkan pekerjaan masa lalu Anda dan kontribusi ke proyek lain melalui pull requests.

Revisi proyek dapat didiskusikan secara terbuka, sehingga banyak pakar dapat menyumbangkan pengetahuan dan bekerja sama untuk memajukan proyek. Sebelum munculnya GitHub, pengembang yang tertarik untuk berkontribusi dalam suatu proyek biasanya perlu menemukan beberapa cara untuk menghubungi penulis. Entah mungkin melalui email dan kemudian meyakinkan mereka bahwa mereka dapat dipercaya dan kontribusi mereka sah.

e. Changelogs
Ketika banyak orang berkolaborasi dalam suatu proyek, sulit untuk melacak revisi — siapa yang mengubah apa, kapan, dan di mana file-file itu disimpan. GitHub menangani masalah ini dengan melacak semua perubahan yang telah didorong ke repositori.

 ALASAN MENGAPA MENGGUNAKAN GIT DAN GITHUB SEBAGAI VCS

  1. Mempermudah mengatur versi dan melihat history projek. Projek apapun yang anda buat kedalam version control system akan lebih mudah diatur manajemen versinya serta dapat dilihat dengan mudah history perubahan-perubahan yang telah dibuat.
  2. Kolaborasi tim lebih mudah dilakukan. Dikarenakan terdapat satu proyect master yang kemudian bisa di clone oleh anggota tim dan ketika masing-masing telah mengerjakan bagiannya maka akan dilakukan pull request. Selanjutnya akan dilakukan evaluasi apakah pull request tersebut layak atau tidak untuk dimasukkan kedalam proyek master.
  3. Gratis. Pada penggunaan tertentu tidak dikenakan biaya apapun.
  4. Github dapat digunakan untuk menghosting web statis dengan mudah dan gratis.
  5. Social networking. Github merupakan media sosial yang telah digunakan oleh banyak developer diseluruh dunia. Bahkan yang bukan developer software pun banyak juga yang menggunakan github sebagai alat bantu untuk mengerjakan proyek baik itu secara individu maupun tim.
KESIMPULAN

Dengan version control system (Git dan Github) dimungkinkan untuk membuat suatu proyek baik itu secara individu maupun tim secara mudah, koloaboratif, historis, dan sistematis serta gratis *** hehe.

Demikian pembahasan tentang Version Control System Git dan Github. Apabila ada pertanyaan terkait hal yang dibahas, silahkan komen dibawah. Terimakasih.

Link: 


Pustaka:

Tidak ada komentar:

Posting Komentar