Diskusi Abdul Mukhit
Selesai

Abdul Mukhit
2 bulan yang lalu
git reset --hard (hash commit/kode commit) vs git restore -S file.js
halo kak saya masih bingung mengenai git reset --hard dan git restore -S file.js . untuk git restore -S ini kan katanya dari staging ke working directory ya? yang berarti belum di commit ya? sedangkan untuk git reset --hard (hash commit) itu mengembalikan ke commit yang sebelumnya? misal dari commit 5 ke commit 4 dan apakah commit 5 ini akan hilang? mohon pencerahannya kak
2 Jawaban

Muhammad Fakhry Burhanuddin
2 bulan yang lalu
Iya betul. Perintah git restore
akan membatalkan perintah git add
atau memindahkan status file dari staging ke working directory. Ada yang bilang file dipindahkan dari pohon (tree) "Staging" ke pohon "Working directory".
Perintah git reset --hard
akan membatalkan semua perubahan yang kita lakukan di tree "Staging" dan "Working directory"
Untuk mencobanya silahkan lakukan latihan berikut.
- Edit satu file dan tambahkan ke Staging dengan perintah
git add file1.txt
- Edit file yang lain tapi tidak usah tambahkan ke Staging.
- Lihat status dengan
git status
. Nanti muncul 2 status yaitu file yang "modified" dan file siap untuk dicommit. - Lakukan git reset hard dengan perintah
git reset --hard
- Cek lagi dengan
git status
dan lihat perubahannya.

BroKoding
2 bulan yang lalu
Halo kak, perbedaan antara keduanya adalah perintah git reset --hard mengembalikan HEAD dan direktori kerja ke keadaan commit tertentu, menghapus perubahan yang belum dicommit. Sementara itu, git restore mengembalikan perubahan di direktori kerja ke keadaan yang sesuai dengan commit terbaru, tanpa mengubah HEAD.