Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial Git #5: Membandingkan Perubahan dengan git diff

 

 

Di tutorial sebelumnya, kita telah belajar menggunakan git log untuk melihat riwayat commit. git log -p bahkan bisa menunjukkan perubahan yang terjadi di dalam setiap commit. Namun, bagaimana jika Anda ingin melihat perubahan yang belum di-commit?

Inilah fungsi utama dari git diff. Perintah ini adalah alat analisis Anda untuk membandingkan berbagai versi file. git diff memungkinkan Anda untuk melihat dengan tepat baris mana yang telah Anda tambah, ubah, atau hapus sebelum Anda menyimpannya ke dalam riwayat. Ini adalah langkah krusial untuk memastikan commit Anda bersih dan hanya berisi perubahan yang relevan.


 

Memahami Apa yang Dibandingkan

 

git diff adalah perintah yang serbaguna. Kegunaannya berubah tergantung pada apa yang ingin Anda bandingkan. Mari kita lihat tiga skenario paling umum.

 

Skenario 1: Perubahan di Working Directory (git diff)

 

Ini adalah penggunaan git diff yang paling umum. Ketika dijalankan tanpa argumen tambahan, perintah ini akan membandingkan file di Working Directory Anda dengan file yang ada di Staging Area.

Dengan kata lain, ini menjawab pertanyaan: “Perubahan apa saja yang sudah saya buat tetapi belum saya git add?”

Mari kita praktikkan.

  1. Buka file index.html dari proyek Anda.
  2. Ubah isi dari tag <h1>. Misalnya, dari <h1>Halo Dunia!</h1> menjadi <h1>Selamat Datang di Git!</h1>. Simpan file tersebut.
  3. Sekarang, jalankan git diff di terminal Anda:
Bash

git diff

Outputnya akan terlihat seperti ini:

Diff

diff --git a/index.html b/index.html
index 73b7a2d..9035201 100644
--- a/index.html
+++ b/index.html
@@ -5,6 +5,6 @@
     <title>Proyek Git Saya</title>
 </head>
 <body>
-    <h1>Halo Dunia!</h1>
+    <h1>Selamat Datang di Git!</h1>
 </body>
 </html>

Mari kita bedah outputnya:

  • --- a/index.html: Ini merepresentasikan versi file “sebelum” diubah (versi di Staging Area).
  • +++ b/index.html: Ini merepresentasikan versi file “sesudah” diubah (versi di Working Directory).
  • - <h1>Halo Dunia!</h1>: Baris yang diawali tanda - adalah baris yang dihapus.
  • + <h1>Selamat Datang di Git!</h1>: Baris yang diawali tanda + adalah baris yang ditambahkan.

 

Skenario 2: Perubahan di Staging Area (git diff --staged)

 

Sekarang, mari kita tambahkan perubahan tadi ke Staging Area.

Bash

git add index.html

Jika Anda menjalankan git diff lagi, tidak akan ada output apa pun. Mengapa? Karena sekarang kondisi Working Directory Anda sudah sama persis dengan Staging Area.

Untuk melihat perbedaan antara file di Staging Area dengan commit terakhir di Repository, gunakan opsi --staged (atau --cached).

Ini menjawab pertanyaan: “Perubahan apa saja yang sudah saya git add tetapi belum saya git commit?”

Bash

git diff --staged

Outputnya akan sama persis seperti git diff yang kita jalankan sebelumnya, karena sekarang perbandingan dilakukan antara Staging Area (yang berisi perubahan baru) dan commit terakhir (yang berisi “Halo Dunia!”).


 

Skenario 3: Membandingkan Dua Commit (git diff <commit1> <commit2>)

 

git diff juga sangat berguna untuk membandingkan dua titik mana pun dalam riwayat proyek Anda. Ini sangat membantu untuk melihat semua perubahan yang terjadi untuk sebuah fitur atau dalam rentang waktu tertentu.

  1. Pertama, mari kita commit perubahan judul kita:
    Bash

    git commit -m "Mengubah judul halaman utama"
    
  2. Selanjutnya, jalankan git log --oneline untuk melihat daftar commit Anda.
    f4e8b3e (HEAD -> master) Mengubah judul halaman utama
    a84f7e5 Menambahkan file CSS untuk styling
    9a7e3a3 Membuat file HTML dasar sebagai awal proyek
    
  3. Sekarang, mari kita bandingkan commit pertama (9a7e3a3) dengan commit terbaru (f4e8b3e). Salin hash dari kedua commit tersebut dan jalankan git diff.
    Bash

    git diff 9a7e3a3 f4e8b3e
    

Perintah ini akan menampilkan semua perubahan yang terjadi di antara dua titik sejarah tersebut, termasuk penambahan file CSS dan perubahan judul.


 

Kesimpulan

 

Gunakan git diff sebagai alat verifikasi sebelum git commit. Ini adalah jaring pengaman Anda untuk memastikan Anda tahu persis apa yang akan Anda simpan ke dalam riwayat.

  • git diff: Melihat perubahan yang belum di-stage.
  • git diff --staged: Melihat perubahan yang sudah di-stage tetapi belum di-commit.
  • git diff <commit1> <commit2>: Melihat perubahan kumulatif antara dua commit.

Pada tutorial berikutnya, kita akan menyelami salah satu konsep paling transformatif dalam Git yang memungkinkan kerja tim yang efisien: Branching.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_dpvliydpvliydpvl
Gemini_Generated_Image_f1m2hff1m2hff1m2
Gemini_Generated_Image_b27jsob27jsob27j
Gemini_Generated_Image_spl7gsspl7gsspl7

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek