Useful Git Command

Zunino Sultan Anggara
PPL 2019 C3
Published in
3 min readApr 1, 2019

Halo semua, di tulisan kali ini, kita akan kembali membahas mengenai Git dan akan berfokus kepada implementasi penggunaan beberapa command yang ada pada Git.

Untuk mempermudah kita dalam memahami beberapa command yang ada pada Git, mari kita perhatikan ilustrasi berikut ini:

Sultan adalah salah seorang programmer di perusahaan Azuz, Ia diberikan tugas untuk mengerjakan sebuah fitur program dengan menerapkan prinsip TDD. Karena ia telah paham mengenai TDD, tentu saja ia akan membuat test case terlebih dahulu dan melakukan pengecekan perubahan yang ada pada directory tempat ia mengerjakan tugasnya dengan menggunakan command git status.

Kemudian dia akan memasukkan file yang telah ia buat ke dalam local repository-nya dengan perintah git add <nama file> dan dia menggunakan command git status untuk melihat apakah file yang sebelumnya ingin di-add sudah masuk ke local repository.

Lalu ia membuat kode implementasi dan memasukkannya ke local repository dengan perintah yang sama.

Namun Sultan menyadari bahwa ia belum melakukan commit untuk test yang ia buat. Untuk mengatasi hal tersebut, ia menggunakan command git reset <nama file> untuk mengeluarkan file tertentu dari local repository.

Karena file tests.py sudah masuk ke dalam local repository, Sultan hanya perlu melakukan git commit agar file tersebut ter-commit dan siap untuk di push ke remote repository.

Namun setelah diperhatikan kembali, ternyata masih saja ada kesalahan yang dilakukan Sultan, ia lupa bahwa tag untuk commit pembuatan test adalah [RED] bukan [GREEN] dan ternyata pada kasus seperti ini, command git reset juga bisa digunakan untuk membatalkan commit tersebut.

Belajar dari kesalahannya, kini Sultan dengan hati-hati melakukan git add dan git commit hingga pekerjaannya selesai seperti pada gambar berikut:

Keesokan hatinya, Sultan mendapatkan tugas untuk mengerjakan sebuah fitur baru, tentu saja ia memulai dengan mengerjakan test case terlebih dahulu.

Saat Sultan masih mengerjakan file tests.py, ia mendapatkan telepon dari Udin. Udin mengatakan bahwa dia menemukan kesalahan pada kode yang dibuat Sultan kemarin, padahal kode tersebut ingin dipresentasikan Udin kepada Client 30 menit lagi.Udin meminta Sultan untuk segera memperbaiki pekerjaan yang dilakukannya kemarin.Namun Sultan menemui kendala, tidak mungkin Sultan menghapus perubahan yang telah dilakukannya pada file tests.py hari ini(mungkin sudah 20 line perubahan), sehingga ia mencari cara agar tidak perlu menghapus perubahan yang telah ia lakukan dan menemukan bahwa git stash-lah solusinya. Dengan menggunakan git stash, perubahan yang telah dilakukan akan tersimpan di dalam sebuah “stack” dan bisa diambil lagi nanti.

Setelah selesai memperbaiki kesalahan pada hari sebelumnya, Sultan hanya perlu mengetikkan command git stash pop untuk mendapatkan kembali perubahan yang telah dilakukannya pada file tests.py hari ini.

Command git stash pop secara otomatis melakukan merge pada file yang mendapat perubahan, dan sebagai programmer, Sultan hanya perlu mengatasai merge conflict dan melakukan commit setelah conflict tersebut terselesaikan.

--

--