Pembaruan 2019:
Sejak Juli 2019 , telah ada perintah baru yang tidak tepat ini: git restore
.
Di git status
, sekarang Git merekomendasikan untuk menggunakan perintah ini alih-alih git checkout
seperti biasanya.
Sementara perintah ini juga dapat digunakan untuk mengembalikan pohon kerja ke komit tertentu atau untuk mengembalikan konten indeks, secara default, pohon kerja dikembalikan ke status dalam indeks (apa yang ditanyakan di sini).
Jadi, untuk mengembalikan file yang cocok dengan pathspec (menyingkirkan perubahan yang tidak dipentaskan), Anda harus melakukan:
git restore <pathspec>
Misalnya, untuk mengembalikan semua perubahan yang tidak dilakukan di direktori saat ini, Anda dapat menjalankan:
git restore .
Jika Anda menjalankan ini dari root proyek, itu akan mengembalikan semua perubahan yang tidak dipentaskan di seluruh repositori.
Perhatikan bahwa, seperti halnya git checkout -- .
(seperti yang ditunjukkan oleh Mariusz Nowak), ini hanya akan membuang perubahan pada file yang dilacak oleh Git dan tidak akan membuang file baru yang tidak terlacak. Jika Anda ingin membuang perubahan yang tidak bertahap, termasuk file baru yang tidak dilacak, Anda dapat menjalankan tambahan:
git clean -df
Berhati-hatilah dengan perintah ini nanti karena Anda mungkin membuang file yang tidak ingin Anda singkirkan.
Catatan pada git restore
: karena ini adalah perintah baru, halaman manualnya memberikan peringatan:
Perintah ini bersifat eksperimental. Perilaku dapat berubah.
Jadi mungkin saja jawaban ini menjadi usang jika perilakunya berubah di masa depan. Karena itu mungkin bijaksana untuk menjalankan quick man git-restore
sebelum menggunakannya.
git-clean
hanya menghapus file yang tidak dilacak dari