Git, GitLab sebagai Version Control System

Rhendy rivaldo
Akhirnya
Published in
3 min readFeb 24, 2020
Source: https://git-scm.com/downloads/logos

Pada suatu proyek pengembangan software, penting untuk dilakukan version control pada software, untuk memungkinkan kita melihat perubahan apa saja yang telah dilakukan pada software. Terlebih lagi apabila proyek tersebut merupakan proyek tim/berkelompok, dimana setiap anggota bisa saja melakukan perubahan pada suatu program, baik secara bersamaan maupun tidak. Untuk menghindari kekacauan dan memonitor perubahan pada proyek sehingga memudahkan error tracking, maka diperlukan sebuah version control system.

Version control system (VCS) adalah suatu software yang memungkinkan kita untuk melakukan berbagai proyek, dalam hal ini terkhusus pada pengembangan software, secara kolaboratif. Kumpulan file/kode dari software yang sedang dibuat diunggah ke sebuah repository. Repository adalah wadah dimana developer bisa menyimpan source code-nya. Kemudian setiap perubahan yang terjadi pada file di dalam repository itu akan disimpan. Hal ini yang memungkinkan suatu proyek dapat dikembalikan ke keadaan awal sebelum perubahan dilakukan, untuk berjaga-jaga apabila terjadi kesalahan. Dengan VCS kita juga dapat melihat perubahan mana yang dibuat oleh anggota tim serta baris mana saja pada file yang diubah.

Lalu apa itu Git? Git merupakan salah satu dari sekian banyak VCS yang tersedia. Git ini kemudian diterapkan oleh beberapa web-based online platform, seperti GitLab dan GitHub, untuk menyimpan source code secara online sehingga source code kita juga dapat diakses oleh siapapun. Pada artikel ini kita akan sedikit lebih berfokus pada GitLab.

GitLab, seperti yang sudah dijelaskan sebelumnya, adalah sebuah web-based Git repository, yang membantu development team untuk berkolaborasi dalam sebuah proyek. Pada GitLab, agar perubahan yang dibuat oleh anggota tim tidak conflict dengan perubahan yang dilakukan anggota lain, dapat dibuat cabang-cabang yang disebut branch, untuk setiap anggota sehingga setiap anggota bisa melakukan perubahan secara terpisah. Kemudian saat anggota selesai di branch-nya, ia dapat membuat merge request. Merge request adalah permintaan (biasanya kepada maintainer dari project) untuk menggabungkan suatu branch dengan branch yang lain. Pada mata kuliah PPL 2020 sendiri, terdapat beberapa jenis branch yang harus didefinisikan diantaranya master, staging, hotfix, serta branch-branch untuk setiap product backlog item (PBI).

Source: https://www.itl.cat/wallview/mRwJhJ_gitlab-logo/

Pada GitLab, atau Git secara umum, terdapat beberapa command dasar yang penting diketahui bagi para developer yang baru belajar Git, diantaranya:

  1. git init , untuk menginisialisasi Git pada suatu folder.
  2. git pull <project-url> <branch> , untuk mengambil commit terbaru dari project dan melakukan merge ke branch yang sedang aktif di local forder.
  3. git push <project-url> <branch> , untuk memasukkan semua perubahan yang ada pada suatu commit ke server.
  4. git clone <project-url> , untuk menyimpan project dari GitLab ke local repository kita.
  5. git merge , untuk menggabungkan suatu branch dengan branch yang lain.
  6. git revert <commit-hash> , bersifat seperti undo, yaitu mengembalikan keadaan suatu project menjadi seperti saat commit hash digenerate, yaitu saat commit yang diinginkan dijalankan. Perlu dicatat bahwa git revert ini tidak menghapus history commit dari latest sampai saat commit tujuan, namun membuat commit baru yang kondisinya sama seperti commit tujuan yang diinginkan.
  7. git remote , secara umum digunakan untuk menambahkan atau menghapus remote repository ke dalam local folder project kita. Untuk menambahkan bisa menggunakangit remote add <remote-name> <project-url> sedangkan untuk menghapus menggunakangit remote remove <remote-name> . Untuk melihat daftar remote yang ada pada suatu folder, gunakangit remote -v .
  8. git checkout <branch> , digunakan untuk berpindah branch. perlu diingat bahwa struktur file pada setiap branch bisa saja berbeda tergantung dari seberapa banyak perbedaan file antara setiap branch. Sehingga jangan bingung apabila setelah berpindah branch, beberapa folder akan hilang atau berbeda dari yang diingat sebelumnya.
  9. git branch <branch-name> , digunakan untuk membuat branch baru dengan nama sesuai dengan branch-name. Bisa juga menggunakan perintahgit checkout -b <branch-name> untuk membuat branch baru sekaligus berpindah ke branch baru tersebut. Perhatian: pada dasarnya git checkout -b hanya menjalankan perintahgit branch <branch-name dangit checkout <branch-name> secara berurutan.

Sekian tulisan saya mengenai version control, Git, serta GitLab. Semoga bermanfaat, dan have a good day!

--

--