Operasi Reset
Operasi "reset" dalam konteks Git mengacu pada langkah-langkah untuk menghapus perubahan dari staged area (area yang siap di-commit) ke dalam working directory (area kerja). Ini berguna jika Anda telah menambahkan perubahan ke staged area tetapi ingin mengembalikannya ke kondisi sebelumnya atau untuk memodifikasi perubahan sebelum melakukan commit.
Cara Unstage Perubahan:
-
Menggunakan
git reset
:-
Perintah
git reset
digunakan untuk mengatur ulang status staged area atau HEAD ke commit sebelumnya tanpa mengubah working directory. Untuk unstage perubahan dari staged area, Anda dapat menggunakan opsi--soft
atau--mixed
. -
Unstage dengan
--mixed
:git reset --mixed HEAD
- Ini akan mengembalikan perubahan dari staged area ke working directory, tetapi tetap menyimpan perubahan dalam working directory.
-
Unstage dengan
--soft
:git reset --soft HEAD
- Ini juga mengembalikan perubahan dari staged area ke working directory, tetapi mempertahankan perubahan yang ada di staged area untuk commit berikutnya.
-
-
Menggunakan
git restore
:-
Mulai dari Git versi 2.23, Anda bisa menggunakan perintah
git restore
untuk mengembalikan konten file ke kondisi dari staged area atau commit sebelumnya. -
Unstage dengan
git restore
:git restore --staged <nama_file>
- Ini akan mengembalikan
<nama_file>
dari staged area ke working directory.
- Ini akan mengembalikan
-
-
Menggunakan
git rm
(untuk file yang sudah di-add):-
Jika Anda ingin menghapus file yang sudah ditambahkan (added) ke staged area, Anda bisa menggunakan
git rm --cached
. -
Unstage file yang sudah di-add:
git rm --cached <nama_file>
- Ini akan menghapus
<nama_file>
dari staged area tanpa menghapusnya dari working directory.
- Ini akan menghapus
-
Contoh Penggunaan Unstage:
-
Unstage semua perubahan dari staged area ke working directory:
git reset --mixed HEAD
- Ini akan mengembalikan semua perubahan dari staged area ke working directory tanpa menghapus perubahan itu sendiri.
-
Unstage perubahan tertentu dari staged area ke working directory:
git restore --staged index.html
- Mengembalikan perubahan pada
index.html
dari staged area ke working directory.
- Mengembalikan perubahan pada
Manfaat Operasi Unstage:
- Modifikasi Sebelum Commit: Memungkinkan untuk memeriksa kembali perubahan sebelum melakukan commit, mengeditnya jika diperlukan, atau mengabaikan perubahan yang tidak diinginkan.
- Kontrol Revisi yang Lebih Baik: Memberikan fleksibilitas dalam pengelolaan revisi kode sebelum mereka tetap di-commit ke repositori.
- Pemulihan Kode: Memungkinkan untuk mengurangi risiko kesalahan dengan memungkinkan revisi sebelum tahap akhir komitmen.
Dengan menggunakan perintah git reset
, git restore
, atau git rm --cached
, Anda dapat mengelola perubahan dalam Git dengan lebih fleksibel, memungkinkan untuk mengendalikan perubahan sebelum mereka menjadi bagian dari sejarah commit Anda.