Membatalkan Perubahan: git restore

Membuang perubahan di working directory, mengeluarkan berkas dari staging, dan memulihkan berkas yang terhapus.

Part 8 dari 22 ± 25 menit Gratis

Salah edit itu wajar

Setiap developer pernah mengubah berkas lalu sadar perubahannya keliru, atau men-stage berkas yang belum siap. Git punya git restore untuk mengembalikan keadaan. Ada dua arah yang berbeda — pahami bedanya agar tidak kehilangan pekerjaan.

1) Membuang perubahan di working directory

git restore catatan.txt      # kembalikan satu berkas ke versi staging/commit terakhir
git restore .                # semua berkas
git restore src/             # satu folder

Peringatan: ini tidak bisa dibatalkan. Perubahan yang belum di-commit atau di-stage dibuang permanen karena Git tidak pernah menyimpannya. Periksa dengan git diff sebelum menjalankannya.

2) Mengeluarkan berkas dari staging (unstage)

git restore --staged catatan.txt

Perubahan di berkas tetap ada di working directory; hanya dikeluarkan dari staging. Aman. Git sendiri menyarankannya di keluaran git status ("use git restore --staged <file>...").

Ringkasan

SituasiPerintahEfek
Berkas diubah, ingin dibuanggit restore fWorking directory kembali; edit hilang
Salah git addgit restore --staged fKeluar dari staging; edit tetap
Salah add dan ingin buang editgit restore --staged --worktree fKeduanya dikembalikan
Berkas terhapus tak sengajagit restore fBerkas dipulihkan dari commit

Mengambil berkas dari commit lama

git restore --source=HEAD~2 index.html

Mengembalikan index.html seperti pada dua commit yang lalu, tanpa memindahkan branch. Cocok untuk "mengambil kembali" satu berkas dari masa lalu.

Cara lama (masih sering terlihat)

Sebelum git restore ada (Git 2.23, 2019), orang memakai git checkout -- berkas dan git reset HEAD berkas. Keduanya masih bekerja, tetapi git restore lebih jelas maksudnya.

Kebiasaan aman

  • Jalankan git status dan git diff dulu.
  • Ragu? Commit dulu (di branch sementara), atau gunakan git stash (bab 15). Commit dapat dipulihkan, perubahan yang tak pernah di-commit tidak.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X