Catatan Kecil tentang Git

Evando Wihalim
6 min readMar 20, 2021
Sumber: https://git-scm.com/downloads/logos

Version control adalah suatu alat yang dapat digunakan untuk merekam jejak perubahan pada pengembangan perangkat lunak (Software). Salah satu version control yang cukup populer digunakan adalah git. Untuk itu, di artikel kali ini saya akan mencoba memberikan beberapa perintah yang sekiranya diperlukan untuk menggunakan git.

Catatan: Simulasi pada artikel ini menggunakan gitlab dan windows. Bagi pengguna version control atau memiliki sistem operasi berbeda dari yang telah disebutkan di atas, dapat mencari perintah yang sepadan.

A. Membuat Repository Baru

Ada dua cara membuat project repository baru:
a. dari komputer lokal
b. dari remote repository

a. Membuat Repository Baru dari Komputer Lokal
Untuk mulai dari komputer lokal (Windows), langkah yang harus dilakukan:
1. Membuat folder baru atau buka folder yang ingin dikirim ke remote repository
2. Buka command prompt di dalam folder baru itu kemudian ketikkan:

git init
Contoh Hasil dari Perintah git init

b. Membuat Repository Baru dari Remote Repository
Untuk mulai dari remote repository (Contoh: Gitlab), langkah yang harus dilakukan:
1. Membuat project baru dalam online repository

Contoh membuat new project pada gitlab
Sumber: https://gitlab.com/projects/new

2. Contoh membuat blank project baru

Sumber: https://gitlab.com/projects/new#blank_project

Tips: untuk membuat repository secara cepat, minimal perhatikan:
a. Project name
b. Visibility Level

3. Tampilan ketika project sudah terbuat

Contoh project yang terbuat
Contoh project yang sudah terbuat

Pada project yang sudah terbuat, akan ada bagian Command line instructions yang dapat anda ikuti untuk menghubungkan remote repository dengan repository di komputer lokal anda.

B. Clone Repository

Untuk menghubungkan remote repository dengan repository lokal atau mengambil repository yang sudah ada di gitlab dengan url <url-repository>, dapat menggunakan perintah:

git clone <url-repository>
Contoh implementasi git clone
Contoh isi dari repository yang di-clone sebelumnya

C. Remote

Remote digunakan untuk melakukan tracking terhadap repository. Dengan demikian perubahan yang terjadi di lokal dapat dikirim ke remote repository atau sebaliknya. Beberapa perintah yang berkaitan dengan remote:

# Untuk menambah suatu remote dengan nama <nama-remote> dan url <url-repository>
git remote add <nama-remote> <url-repository>
# Untuk melihat semua remote beserta commit terakhir
git remote -v
Contoh melihat dan menambahkan remote baru

D. Menambah perubahan

Untuk melihat status dari repository kita (melihat apakah ada perubahan) dapat menggunakan perintah:

git status
Contoh adanya perubahan pada repository

Ketika melakukan perubahan pada suatu file maka gunakan add untuk menambahkan perubahan tersebut.

# Untuk menambahkan perubahan hanya pada suatu file
git add <nama-file>
# Untuk menambahkan semua perubahan yang terjadi
git add .
Contoh menambahkan perubahan ke repository

E. Menyimpan perubahan

Ada dua cara untuk menyimpan perubahan:
1. Stash
2. Commit

Stash
Jika anda ingin agar perubahan anda tersimpan namun belum yakin terhadap perubahan tersebut dan ingin kembali ke working directory yang bersih, gunakan stash.

git stash

Untuk melanjutkan perubahan yang sudah disimpan menggunakan stash, gunakan perintah:

Contoh hasil dari stash
Hasil dari stash pada text editor

Dapat dilihat dari text editor di atas bahwa perubahan yang saya lakukan (Melakukan modifikasi isi dari readme.md dan menambahkan file baru bernama newfile.txt) hilang sementara.

# Untuk mengaplikasikan perubahan terakhir dari stash list dan membuangnya dari stash list
git stash pop
# Mirip dengan pop hanya saja stash tidak dibuang dari stash list
git stash apply
Setelah melakukan pop

Setelah melakukan pop, dapat dilihat bahwa perubahan yang sebelumnya saya stash, ada kembali.

Commit
Jika anda sudah yakin terhadap perubahan anda dan ingin langsung mengaplikasikan perubahan tersebut, gunakan perintah commit.

git commit -m <pesan-yang-berkaitan-dengan-perubahan-yang-dilakukan>
Contoh commit

F. Menarik Repository dari Remote ke Lokal

Untuk menarik repository yang sudah di-clone ke lokal serta remote sudah dikonfigurasi, gunakan pull

git pull <nama-remote> <nama-branch>
Contoh menarik perubahan dari remote repository ke lokal

G. Mengirim Repository dari Lokal ke Remote

Untuk mengirim perubahan yang sudah kita lakukan ke remote repository, gunakan push. Pastikan bahwa perubahan sudah di-add dan di-commit.

git push <nama-remote> <nama-branch>
Contoh mengirim perubahan dari lokal ke remote repository

H. Penggunaan Cabang (Branch)

Secara default, ketika membuat repository baru, kita berada di cabang bernama master. Biasanya ketika mengembangkan sebuah aplikasi, cabang master digunakan untuk meletakkan kode yang sudah berjalan atau tidak memiliki error. Untuk mengembangkan fitur baru tanpa merusak kode yang sudah ada, sebaiknya menggunakan branch. Selain itu, branch juga meminimalisir terjadinya konflik apabila kita melakukan pengembangan aplikasi bersama orang lain.

# Untuk melihat branch apa saja yang sudah ada serta melihat kita ada di branch mana.
git branch -v
# Untuk membuat branch baru
git branch <nama-branch-baru>

I. Berpindah Branch

Untuk melakukan perpindahan branch di komputer lokal, gunakan perintah checkout.

git checkout <nama-branch>
Contoh berpindah branch

Untuk melakukan perpindahan branch sekaligus membuat branch baru dengan nama <nama-branch> gunakan opsi -b pada checkout.

git checkout -b <nama-branch>
Contoh berpindah sekaligus membuat branch baru

J. Menggabungkan Branch

Untuk menggabungkan dua buah branch dapat menggunakan dua pilihan berikut ini:
1. Merge
2. Rebase

Merge
Pilihan ini merupakan pilihan yang paling sering penulis gunakan. Merge akan menggabungkan dua buah branch dengan meninggalkan jejak berupa sebuah commit merge. Untuk melakukannya ada dua buah cara:
a. Menggabungkan di remote. (Contoh: Gitlab)
b. Menggabungkan di lokal.

a. Untuk menggabungkan di remote:
1. Buat sebuah merge request

Contoh Merge Request
Contoh Merge Request
Merge process 1
Memilih branch yang akan digabung
Merge tahap 2
Keterangan mengenai merge yang akan dibuat
Merge Process 3
Memeriksa kembali sebelum merge dilakukan
Merged
Kondisi setelah merge dilakukan

b. Untuk menggabungkan di lokal, gunakan command prompt (windows) kemudian lakukan perintah berikut:

# Pindah ke branch tujuan merge
git checkout <nama-branch-tujuan-yang-ingin-digabung>
# Gabungkan branch yang ingin di merge dengan tujuan merge
git merge <nama-branch-asal-yang-ingin-digabung>

Rebase
Rebase mirip dengan merge hanya saja rebase digunakan untuk memindahkan base atau dasar project dari satu branch ke branch lain. Selain itu, rebase tidak menghasilkan commit baru dari menggabungkan kedua branch. Untuk melakukannya dari lokal, gunakan perintah:

git checkout <nama-branch-tujuan-yang-ingin-digabung>
git rebase <nama-branch-asal-yang-ingin-digabung>

K. Membatalkan Perubahan yang Sudah Dicommit

Untuk melakukan pembatalan perubahan yang sudah di-commit, kita harus mengetahui ID commit-nya terlebih dahulu. ID commit dapat diketahui dengan melihat log dari git. Untuk melihat log dari git gunakan perintah:

git log

Setelah mendapatkan ID commit yang ingin dibatalkan perubahannya, catat ID commit tersebut kemudian ada dua pilihan untuk membatalkan perubahan:
1. revert
2. reset

Revert
Revert digunakan untuk membatalkan perubahan pada suatu commit dengan membuat sebuah commit baru. Perintah:

git revert <ID-commit>

Reset
Reset digunakan untuk mengembalikan kondisi menjadi sama dengan kondisi commit yang dituju tanpa membuat sebuah commit baru. Perintah yang digunakan:

git reset <ID-commit>

Skenario mengenai git revert dan git reset:
Jika kita membuat file A di commit pertama, file B di commit kedua, file C di commit ketiga, dan mengubah file A di commit keempat, maka apabila kita menggunakan:
1. revert commit pertama: file B dan file C akan tetap ada namun file A akan kembali seperti pada commit pertama.
2. reset commit pertama: file B dan file C akan dikeluarkan dari file yang di-track oleh git kemudian file A akan kembali seperti pada commit pertama.

Demikian artikel saya mengenai git, semoga dengan adanya artikel ini, pembaca dapat mengenal sedikit perintah-perintah yang umum digunakan pada git.

Referensi

  1. Dokumentasi git.
  2. Gitlab
  3. Merging vs Rebasing
  4. Revert vs Reset

--

--