Pada seri belajar Git Part 3, kita telah mempelajari perintah dasar Git untuk mengelola project secara lokal, mulai dari menyimpan perubahan menggunakan commit hingga membuat dan berpindah branch. Setelah memahami dasar-dasar tersebut, kini saatnya mempelajari cara mengelola perubahan kode dengan lebih lanjut.
Sama seperti bagian sebelumnya, seluruh praktik belajar Git Part 4 ini dilakukan sepenuhnya dalam lingkungan lokal (localhost) di laptop, tanpa memerlukan koneksi internet maupun akun GitHub atau GitLab. Kita akan mempelajari beberapa perintah Git lanjutan, mulai dari menggabungkan branch, menangani konflik penggabungan (merge conflict), menyimpan perubahan sementara, membatalkan commit, hingga memberi tag pada versi rilis project.
Ringkasan
- Memahami penggunaan
git mergeuntuk menggabungkan perubahan dari beberapa branch. - Mempelajari cara menyelesaikan konflik yang muncul saat penggabungan branch.
- Menggunakan
git stashdangit stash popuntuk menyimpan serta mengembalikan draf perubahan tanpa commit. - Memahami perbedaan
git reset --softdangit reset --harduntuk membatalkan commit. - Menggunakan
git tagdangit showuntuk menandai serta melihat informasi versi project. - Seluruh perintah dipraktikkan di laptop tanpa memerlukan koneksi internet atau akun GitHub/GitLab.
Menggabungkan Branch (git merge)
Git merge adalah perintah dalam sistem kontrol versi Git yang digunakan untuk menggabungkan riwayat perubahan dari satu branch (cabang) ke branch lainnya. Perintah git merge harus diikuti oleh nama branch yang ingin digabungkan (contoh: git merge fitur-baru). Jika Anda hanya mengetik git merge saja, Git akan menampilkan error No remote.
Berikut alur lengkap dari awal sampai berhasil melakukan merge:
- Pastikan Anda berada di folder belajar-git, lalu buat file pertama di branch master dan simpan:
echo "Ini file di branch master" > main.txt git add main.txt git commit -m "Commit di master"
- Buat branch baru bernama fitur-baru dan langsung pindah ke branch tersebut:
git checkout -b fitur-baru
- Buat file baru di branch fitur-baru lalu simpan (commit):
echo "Fitur baru selesai dibuat" > fitur.txt git add fitur.txt git commit -m "Menambah fitur baru"
- Pindah kembali ke branch utama (master):
git checkout master
- Gabungkan perubahan dari branch fitur-baru ke branch master (sebutkan nama branch dengan jelas):
git merge fitur-baru
Berikut adalah contoh penulisan command prompt di atas.
Menangani Konflik Penggabungan (Merge Conflict)
Git conflict (atau merge conflict) adalah kondisi ketika Git tidak dapat menggabungkan perubahan dari dua branch atau commit secara otomatis . Konflik terjadi ketika dua branch mengubah file dan baris yang sama secara berbeda.
Berikut alur runtut untuk memicu dan menyelesaikan konflik:
- Pastikan Anda berada di branch master, ubah isi file main.txt, lalu simpan commit:
git checkout master echo "Revisi dari branch master" > main.txt git add main.txt git commit -m "Update main.txt di master"
- Buat branch baru fitur-konflik, otomatis pindah ke sana, lalu ubah file yang sama dengan teks berbeda:
git checkout -b fitur-konflik echo "Revisi dari branch fitur-konflik" > main.txt git add main.txt git commit -m "Update main.txt di fitur-konflik"

- Pindah kembali ke branch master dan coba gabungkan untuk memicu konflik:
git checkout master git merge fitur-konflik
- Git akan menampilkan pesan: CONFLICT (content): Merge conflict in main.txt
- Buka file main.txt menggunakan Notepad atau VS Code, hapus penanda konflik (<<<<<<<, =======, >>>>>>>), tentukan isi teks yang benar, lalu simpan file.
- Selesaikan konflik di Git dengan menyimpan perubahan tersebut:
git add main.txt
git commit -m "Selesai mengatasi merge conflict"
BACA JUGA: Git Rebase vs Git Merge: Apa Bedanya dan Kapan Digunakan?
Menyimpan Draf Sementara (git stash & git stash pop)
Git Stash adalah fitur di Git yang berfungsi untuk menyimpan sementara perubahan kode (baik yang sudah di-stage maupun belum) tanpa harus melakukan commit.
Git Stash Pop adalah perintah untuk mengembalikan (menerapkan) kembali perubahan yang sudah disimpan tersebut ke direktori kerja Anda, sekaligus menghapus data simpanan (stash) itu dari daftar tumpukan stash.
- Saat sedang mengedit file tetapi belum siap di-commit dan harus buru-buru pindah branch, amankan editan Anda ke memori sementara:
git stash

- Working tree Anda akan kembali bersih, dan Anda bebas berpindah branch.
- Untuk melihat daftar draf yang tersimpan di stash:
git stash list

- Untuk mengembalikan draf kerjaan yang tadi disimpan dan melanjutkannya kembali:
git stash pop

Membatalkan Commit (git reset)
Git reset adalah perintah untuk membatalkan commit dengan cara memindahkan posisi HEAD kembali ke commit sebelumnya, baik dengan tetap menjaga kode Anda maupun menghapusnya secara permanen.
- Reset Soft (Membatalkan commit, tetapi editan file tetap di Staging Area).
git reset --soft HEAD~1
- Reset Hard (Membatalkan commit sekaligus menghapus seluruh editan file secara permanen).
git reset --hard HEAD~1(Gunakan –hard dengan hati-hati karena editan file yang dibatalkan tidak bisa dikembalikan).

Membuat Label Versi Rilis (git tag)
Git tag adalah fitur untuk memberikan penanda atau label permanen pada suatu commit tertentu di riwayat proyek Anda
- Berikan penanda versi rilis (misal v1.0.0) pada titik commit terakhir Anda:
git tag -a v1.0.0 -m "Rilis Versi 1.0.0 Produk"- Lihat daftar tag yang telah terdaftar di repository:
git tag
- Lihat rincian informasi dan commit yang ditandai oleh tag tersebut:
git show v1.0.0
Ringkasan Perintah Lanjutan Git (Cheat Sheet)
Berikut adalah beberapa perintah lanjutan di Git yang dapat Anda pelajari.
| Perintah Git | Fungsi Utama | Status / Area |
|---|---|---|
git stash | Menyimpan sementara draf perubahan lokal tanpa commit. | Stash Memory |
git stash pop | Mengembalikan draf perubahan yang disimpan dari stash. | Working Tree |
git reset --soft HEAD~1 | Membatalkan 1 commit terakhir, tetapi perubahan tetap tersimpan di staging area. | Staging Area |
git reset --hard HEAD~1 | Membatalkan 1 commit terakhir beserta perubahan pada working tree. Perubahan yang belum di-commit dapat hilang. | Working Tree (Dihapus) |
git tag -a <versi> -m "pesan" | Membuat label versi rilis bertanda pada commit. | Local Repository |
git show <tag> | Melihat rincian informasi dan commit dari tag tertentu. | Local Repository |
Penutup
Di belajar Git part 4 ini, kita telah memahami cara menggabungkan branch, menangani merge conflict, menyimpan draf perubahan sementara, membatalkan commit, dan membuat tag versi rilis. Dengan menguasai perintah-perintah tersebut, kita dapat mengelola perubahan kode dan riwayat project dengan lebih terstruktur sebelum membagikannya ke repository remote.
Demikian series belajar Git Part 4 tentang cara mengelola branch dan commit. Ikuti terus seri belajar Git dari Rumahweb untuk mempelajari materi selanjutnya dan memperdalam pemahaman kita tentang Git. Semoga artikel ini bermanfaat!





