Bagaimana cara membuang perubahan dalam copy pekerjaan saya yang tidak ada dalam indeks?
Bagaimana cara membuang perubahan dalam copy pekerjaan saya yang tidak ada dalam indeks?
Cara lain yang lebih cepat adalah:
git stash save --keep-index
Termasuk --include-untracked
jika Anda ingin menjadi menyeluruh tentang hal itu.
Setelah itu, Anda dapat menjatuhkan simpanan itu dengan git stash drop
perintah jika Anda suka.
Untuk semua penggunaan file yang tidak digembar-gemborkan:
git checkout -- .
Untuk penggunaan file tertentu:
git checkout path/to/file/to/revert
Pastikan untuk memasukkan periode di bagian akhir.
Sepertinya solusi lengkapnya adalah:
git clean -df
git checkout -- .
git clean
menghapus semua file yang tidak terlacak (PERINGATAN: sementara itu tidak akan menghapus file yang diabaikan yang disebutkan secara langsung di .gitignore, itu dapat menghapus file yang diabaikan yang berada di folder) dan git checkout
membersihkan semua perubahan yang tidak diatur.
Ini memeriksa indeks saat ini untuk direktori saat ini, membuang semua perubahan dalam file dari direktori saat ini ke bawah.
git checkout .
atau ini yang memeriksa semua file dari indeks, menimpa file pohon yang berfungsi.
git checkout-index -a -f
git clean -df
Membersihkan pohon kerja dengan secara rekursif menghapus file yang tidak berada di bawah kontrol versi, mulai dari direktori saat ini.
-d
: Hapus direktori yang tidak terlacak di samping file yang tidak terlacak
-f
: Force (mungkin tidak perlu tergantung pada clean.requireForce
pengaturan)
Menjalankan git help clean
untuk melihat manual
Favorit saya adalah
git checkout -p
Itu memungkinkan Anda mengembalikan potongan secara selektif.
Lihat juga:
git add -p
Karena tidak ada jawaban yang menunjukkan kombinasi opsi yang tepat yang saya gunakan, ini dia:
git clean -dfx
git checkout .
Ini adalah teks bantuan online untuk yang digunakan git clean
pilihan:
-d
Hapus direktori yang tidak terlacak selain file yang tidak terlacak. Jika direktori yang tidak ditangani dikelola oleh repositori Git yang berbeda, itu tidak dihapus secara default. Menggunakan -f
pilihan dua kali jika Anda benar-benar ingin menghapus direktori semacam itu.
-f
Jika variabel konfigurasi Git clean.requireForce
tidak diatur ke false
, Git clean akan menolak untuk menghapus file atau direktori kecuali diberikan -f
, -n
, atau -i
. Git akan menolak untuk menghapus direktori dalam .git
subdirektori atau file, kecuali satu detik -f
diberikan.
-x
Jangan gunakan aturan abaikan dari .gitignore
(per direktori) dan $GIT_DIR/info/exclude
, tetapi masih gunakan aturan abaikan yang diberikan -e
pilihan. Ini memungkinkan penghapusan semua file yang tidak terlacak, termasuk membangun produk. Ini dapat digunakan (mungkin bersamaan dengan git reset
) untuk membuat direktori kerja murni untuk menguji build bersih.
Juga, git checkout .
perlu dilakukan di root repo.