Git Commit adalah salah satu perintah utama dalam Git yang digunakan untuk menyimpan perubahan pada repository. Setiap kali kita melakukan commit, Git akan mencatat revisi atau versi baru dari proyek kita ke dalam history repository. Revisi ini mencakup semua perubahan yang telah dilakukan sejak commit sebelumnya, seperti penambahan, penghapusan, atau modifikasi file.
Dengan adanya commit, Git memungkinkan kita untuk:
- Melacak Perubahan Secara Detail
Setiap commit mencatat informasi seperti siapa yang melakukan perubahan, kapan perubahan dilakukan, dan deskripsi tentang apa yang diubah. - Mengelola Versi Proyek
Kita dapat dengan mudah mengembalikan proyek ke kondisi sebelumnya dengan memanfaatkan riwayat commit. Hal ini sangat berguna saat terjadi kesalahan atau saat kita ingin membandingkan versi yang berbeda. - Mendukung Kolaborasi Tim
Dalam tim, commit memudahkan anggota tim lain untuk memahami perubahan apa yang telah dilakukan, terutama jika disertai dengan pesan commit yang jelas dan informatif.
Saat kita bekerja dengan Git, proses commit adalah langkah penting untuk menyimpan perubahan yang kita buat di working directory. Berikut adalah prosesnya:
- Melakukan Perubahan pada File
Sebelum commit, kita harus membuat perubahan pada file di dalam folder proyek kita, seperti menambah fitur baru, memperbaiki bug, atau mengubah desain. - Menambahkan Perubahan ke Staging Area
Gunakan perintahgit add
untuk memilih file atau perubahan yang ingin disimpan. Staging area adalah tempat sementara sebelum perubahan benar-benar disimpan ke dalam repository. - Melakukan Commit
Setelah perubahan siap, gunakan perintahgit commit
untuk menyimpan perubahan tersebut ke dalam repository. Setiap commit harus disertai dengan pesan deskriptif yang menjelaskan perubahan yang dilakukan.Contoh perintah:
Mengapa Git Commit Penting?
- Pencatatan Perubahan yang Rinci
Git Commit memungkinkan pengembang untuk mencatat setiap perubahan dengan deskripsi yang spesifik. Dengan ini, tim pengembang dapat memahami konteks perubahan tanpa harus melihat seluruh kode. - Mempermudah Debugging
Jika terjadi kesalahan pada proyek, kita dapat kembali ke commit sebelumnya untuk menemukan sumber masalah. Git juga memungkinkan kita untuk membandingkan revisi dengan mudah. - Mendukung Pengembangan yang Terstruktur
Dengan menggunakan Git Commit secara teratur, pengembangan proyek menjadi lebih terorganisasi. Setiap fitur atau perbaikan dapat dicatat secara terpisah, sehingga pengelolaan proyek menjadi lebih mudah. - Mendukung Kolaborasi Tim yang Efektif
Dalam pengembangan perangkat lunak yang melibatkan tim, Git Commit membantu anggota tim memahami apa yang telah dilakukan oleh anggota lain. Hal ini meminimalkan kebingungan dan meningkatkan produktivitas tim.
Tips untuk Git Commit yang Baik
- Gunakan Pesan Commit yang Jelas
Pastikan pesan commit menjelaskan perubahan yang dilakukan. Contoh:- ✅ “Menambahkan validasi formulir pendaftaran”
- ❌ “Perubahan kecil”
- Lakukan Commit Secara Teratur
Jangan menumpuk banyak perubahan sebelum melakukan commit. Lebih baik melakukan commit untuk setiap perubahan kecil atau fitur baru. - Gunakan Perintah
git status
Sebelum Commit
Periksa status file kita sebelum commit untuk memastikan hanya perubahan yang diinginkan yang akan disimpan. - Gunakan Branch untuk Fitur Baru
Saat mengembangkan fitur baru, gunakan branch terpisah sehingga commit kita lebih terorganisasi dan tidak mengganggu cabang utama (main branch).
Git Commit
Selanjutnya kita akan mencoba membuat contoh dengan membuat repository baru sebagai percobaan. Silahkan buat sebuah repository baru dengan nama repository “proyek_baru“. ketik perintah berikut pada terminal atau cmd.
git init proyek_baru
Setelah repository proyek_baru berhasil dibuat, buat 3 file baru di dalam repository tersebut.
Membuat repository dan file html kosong
Ketik perintah git status
untuk melihat status dari ketiga file html yang sudah kita buat seperti pada gambar di atas.
Seperti yang bisa kita lihat pada gambar di atas, sekarang kita sedang berada dalam branch main dan ketiga file yang ada dalam repository proyek_baru berstatus modified.
Pernyataan tersebut menggambarkan status terkini dari file di dalam repository Git kita. Berikut adalah penjelasan rinci dari masing-masing poin:
- Branch
main
Saat ini, kita sedang berada di cabang (branch) utama dari repository Git, yaitumain
. Branch adalah cabang atau jalur pengembangan yang digunakan untuk melacak perubahan secara terpisah dari jalur utama proyek. Cabangmain
biasanya merupakan cabang default yang digunakan untuk menyimpan versi stabil dari proyek. -
Status File “Modified”
Ketiga file dalam repository memiliki status “modified”, yang artinya file-file tersebut telah mengalami perubahan sejak commit terakhir, tetapi perubahan tersebut belum disimpan ke dalam staging area atau commit terbaru.Dalam konteks Git, status “modified” menunjukkan bahwa:
- Kita telah mengedit file tersebut di working directory.
- Perubahan belum ditandai dengan perintah
git add
, sehingga belum masuk ke staging area untuk di-commit.
3 Status File Pada Repository Git
1. Modified
Modified adalah status dimana sudah ada perubahan atau revisi pada pada file tersebut, tapi belum di tandai untuk di simpan ke version control. Misalnya sudah ada perubahan pada file tersebut, tapi belum dibungkus untuk di commit
. Contohnya seperti pada ketiga file HTML yang ada dalam repository proyek_baru tadi adalah berstatus modified
.
2. Staged
Status staged dalam Git menunjukkan bahwa file telah mengalami perubahan dan sudah ditandai untuk dimasukkan ke dalam commit. File dengan status ini berada di staging area, yaitu area persiapan sebelum perubahan disimpan secara permanen ke dalam repository.
Dengan kata lain, staged adalah kondisi di mana Git siap untuk merekam perubahan pada file tersebut sebagai bagian dari riwayat proyek kita. Proses ini dilakukan setelah file yang modified ditambahkan ke staging area menggunakan perintah git add
.
3. Commited
Status committed dalam Git menunjukkan bahwa perubahan pada file telah disimpan secara permanen ke dalam repository. File dengan status ini sudah melewati proses:
-
- Modified – File telah diubah.
- Staged – Perubahan telah ditandai di staging area.
- Committed – Perubahan disimpan ke dalam riwayat versi di repository.
Dengan status committed, riwayat perubahan file tersebut tercatat dalam database Git dan dapat diakses kapan saja. Setiap commit diberi ID unik (hash) yang memungkinkan pengguna untuk melacak, memeriksa, atau kembali ke versi sebelumnya dari proyek mereka.
Membuat Commit Git Pertama
Untuk lebih memahami istilah status kondisi file di atas, kita lanjut ke proses menandai file dan melakukan commit untuk membuat riwayat revisi. Sekarang kita akan menandai file yang ingin kita commit
dengan perintah git add
.
Untuk cara menandai file yang ingin di commit bisa menggunakan perintah berikut.
git add index.html
git add kontak.html
git add tentang.html
atau bisa menuliskan nama file nya secara sekaligus.
git add index.html kontak.html tentang.html
atau jika ingin menandai file dengan memfilter ekstensi file nya bisa menggunakan perintah
git add *.html
yang artinya tandai semua file yang ekstensinya .html.
Atau jika ingin menandai semua file dan direktori(folder) bisa gunakan perintah berikut.
git add .
Setelah kita tandai file yang ingin kita commit
dengan perintah git add
. maka sekarang status file tersebut menjadi staged
.
Setelah kita tandai file dengan perintah git add seperti di atas, sekarang ketiga file tersebut sudah berstatus staged. Artinya ketiga file tersebut sudah di tandai sebagai file yang siap untuk kita lakukan commit.
Sekarang kita lakukan commit agar Git menyimpan semua perubahan tersebut. Gunakan perintah git commit untuk melakukan commit.
git commit -m "commit pertama saya"
Kita bisa memberikan komentar atau pesan pada revisi yang disimpan dengan menambahkan argumen -m
, kemudian diikuti dengan pesan revisi yang ingin kita buat.
Perhatikan gambar di atas, kita sudah berhasil melakukan commit dengan memberikan tambahan perintah argumen -m
dan mengisi pesan commit
nya dengan “commit pertama saya“. Saat kita periksa lagi dengan perintah git status
, commit sudah berhasil kita lakukan. Sekarang status dari ketiga file html tadi sudah menjadi commited.
Mencoba Membuat Commit Git Kedua
Supaya kita bisa melihat riwayat perubahan revisi pada Git, kita coba buat commit kedua dengan mengubah salah satu file dalam repository proyek_baru.
Ubah file index.html yang tadinya kosong menjadi seperti berikut :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Belajar Git #4 : Git Commit - www.agussuratna.net</title> </head> <body> <h1>Belajar Git Lengkap Di <a href="https://www.agussuratna.net/git-commit"> www.agussuratna.net </a> </h1> </body> </html>
Setelah membuat perubahan pada file index.html, coba periksa lagi dengan perintah git status
.
Sekarang status file index.html menjadi modified, karena sudah ada perubahan pada file tersebut tapi belum ditandai. Setelah kita tandai dengan perintah git add index.html
, maka statusnya akan berubah menjadi staged
dan siap untuk kita commit
. Kita lakukan commit
pada index.html dengan pesan “membuat halaman utama website“.
git commit -m "membuat halaman utama website"
Sampai tahap ini, Git telah menyimpan 2 revisi pada proyek repository proyek_baru. Revisi pertama yaitu ketika kita menambahkan 3 buah file html kosong tadi yang kita beri pesan “commit pertama saya”. Revisi kedua yaitu ketika kita membuat perubahan pada index.html dan kita beri pesan “membuat halaman utama website”.
Dengan commit
, Git akan menyimpan perubahan yang kita tandai dengan git add
. Setiap revisi yang dibuat bisa kita akses kembali, misal kita membuat kesalahan pada coding dan ingin kembali ke versi revisi sebelumnya yang pernah kita commit. Tanpa perlu menyimpan banyak file backup seperti cara lama, itulah tujuan dari version control system.
Untuk cara melihat daftar riwayat revisi dan cara mengembalikan file tersebut ke perubahan versi sebelumnya akan kita bahas pada tutorial selanjutnya dengan materi Melihat Riwayat Revisi Dengan Git Log.
Referensi :
- https://git-scm.com/
- https://www.malasngoding.com/git-commit/