Git

mohamad mahendra
PPL D7 — Fasilkom UI
3 min readMar 20, 2019

History

Komputer dan kode telah lama ada sejak pertama kali muncul, dan terdapat banyak sekali hal yang telah terjadi yang membentuk cara kita menggunakan teknologi saat ini. Software Development merupakan salah satu hal dalam teknologi yang sangat mudah untuk berganti, dalam beberapa tahun pasti terdapat bahasa pemrograman, framework, atau pun konsep baru yang ramai digunakan oleh developer. Dan hanya beberapa yang tetap bertahan untuk digunakan oleh para developer ini, Git merupakan salah satunya. Saat ini Git merupakan version control yang paling banyak digunakan, tetapi sebelum masuk lebih dalam tentang Git kita perlu lebih dahulu memahami version control dan perannya dalam Software Development

Version Control

Git merupakan sebuah Version Control, yaitu merupakan suatu sistem yang menyimpan history perubahan pada sekumpulan file (dalam hal ini kode) sehingga kita dapat lagi mengakses dan melihat sebuah versi spesifik kapanpun kita mau. Mungkin salah satu contoh nyata dari implementasi version control ini adalah Google Docs, pada aplikasi Google Docs terdapat fitur history yang dapat mendeteksi setiap perubahan yang dilakukan user dan mengembalikannya. Version Control sendiri sangat penting bagi dunia Software Engineering khususnya para developer yang bekerja secara tim. Dengan adanya Version Control ini, mereka akan lebih mudah melakukan pertukaran kode dan dapat mengecek perubahan-perubahan apa saja yang telah dikerjakan oleh suatu orang.

Command

Untuk dapat menjalankan Git, kita perlu mengetahui perintah-perintah yang dapat dijalankan oleh Git

  • Git Pull: Berfungsi untuk mengambil perubahan terakhir pada Repository Git ke local, digunakan untuk melihat perubahan terakhir yang dilakukan oleh orang lain
  • Git Push: Berfungsi untuk menyimpan perubahan yang kita lakukan pada local ke Repository Git
  • Git Clone: Berfungsi untuk melakukan duplikasi terhadap Repository Git kedalam local, Clone akan membuat suatu folder baru berisi file-file yang sama dengan yang ada di Repository Git
  • Git Branch: Berfungsi untuk membuat branch baru pada Repository Git
  • Git Checkout: Berfungsi untuk pindah antar branchnya
  • Git Merge: Berfungsi untuk menggabungkan dua buah branch menjadi satu
  • Git Commit: Berfungsi untuk memberikan comment berupa sebuah nama pada saat ingin melakukan push
  • Git Rebase: Berfungsi untuk memindahkan atau menggabungkan urutan commit agar tersusun rapih
  • Git Revert: Berfungsi untuk melakukan undo suatu commit, tetapi dilakukan tidak dengan menghapus commit melainkan melakukan commit baru
  • Git Stash: Berfungsi untuk menyimpan perubahan tanpa melakukan commit, biasanya dilakukan saat ingin berpindah branch tetapi tidak ingin melakukan commit terlebih dahulu
  • Git Remote: Berfungsi untuk melihat daftar shortname dari setiap remote

Git Flow

Pada PPL terdapat 3 branch, yaitu production, staging, dan user story. Tim developer akan mengerjakan awalnya pada branch user story untuk pengembangannya, kemudian jika Product Owner sudah puas dengan pekerjaan developer maka branch user story akan di merge kedalam branch staging. Setelah produk selesai dikembangkan atau memiliki hasil akhir, produk akan dimerge dari branch staging ke branch production.

Selain 3 branch utama tersebut, terdapat juga 2 branch tambahan yaitu Hotfix dan Coldfix. Branch hotfix biasa digunakan untuk mengatasi bug/error pada kode jika pada sprint sebelumnya terdapat sebuah bug atau error dan kita ingin mengatasinya. Sedangkan branch coldfix digunakan untuk melakukan rollback jika product owner kita menolak hasil kode user story yang kita buat pada development diawal

Penamaan commit juga memiliki aturan tersendiri yaitu dibedakan menjadi [RED] untuk membuat test dan stub, [GREEN] untuk implementasi fungsi dan kode, [REFACTOR] untuk memperbaiki atau menambahkan fungsi yang sudah ada dari kode, [CHORES] untuk commit mengenai hal-hal yang diluar fungsi seperti readme.md

Sekian hal tentang git yang bisa saya sampaikan, Semoga dapat berguna bagi para pembaca sekalian!!

--

--