Pertanyaan git: batalkan semua perubahan kerja termasuk file baru


Bagaimana cara menghapus semua perubahan dari direktori kerja termasuk file baru yang tidak terlacak. saya tahu itu git checkout -f apakah itu, tetapi tidak menghapus file baru yang tidak terlacak yang dibuat sejak commit terakhir.

Apakah ada yang punya ide bagaimana melakukan itu?


931
2017-07-07 04:07


asal


Jawaban:


git reset --hard # removes staged and working directory changes

## !! be very careful with these !!
## you may end up deleting what you don't want to
## read comments and manual.
git clean -f -d # remove untracked
git clean -f -x -d # CAUTION: as above but removes ignored files like config.
git clean -fxd :/ # CAUTION: as above, but cleans untracked and ignored files through the entire repo (without :/, the operation affects only the current directory)

1398
2017-07-07 04:09



Metode teraman, yang sering saya gunakan:

git clean -fd

223
2018-04-18 16:15



Untuk semua tidak bertanda file digunakan:

git checkout -- .

Itu . pada akhirnya itu penting.

Anda dapat mengganti . dengan nama sub-direktori untuk menghapus hanya sub-direktori tertentu dari proyek Anda. Masalahnya ditangani secara khusus sini.


161
2017-09-26 15:29



Silahkan lihat di git clean perintah.

git-clean - Hapus file yang tidak terlacak dari pohon kerja

Membersihkan pohon kerja dengan secara rekursif menghapus file yang tidak berada di bawah kontrol versi, mulai dari direktori saat ini.

Biasanya, hanya file yang tidak diketahui untuk git dihapus, tetapi jika opsi -x ditentukan, file yang diabaikan juga dihapus. Ini dapat, misalnya, berguna untuk menghapus semua produk yang dibuat.


57
2017-07-07 04:09



Karya-karya berikut:

git add -A .
git stash
git stash drop stash@{0}

Harap perhatikan bahwa ini akan membuang perubahan lokal Anda yang tidak bertahap dan bertahap. Jadi Anda harus melakukan apa pun yang ingin Anda simpan, sebelum Anda menjalankan perintah ini.

Contoh penggunaan umum: Anda memindahkan banyak file atau direktori di sekitar, dan kemudian ingin kembali ke keadaan semula.

Kredit: https://stackoverflow.com/a/52719/246724


36
2017-12-16 11:32



Anda dapat melakukan ini dalam dua langkah:

  1. Kembalikan file yang diubah: git checkout -f
  2. Hapus file yang tidak terlacak: git clean -fd

26
2017-12-14 15:14



Saya pikir itu (peringatan: mengikuti akan bersihkan semuanya)

$ git reset --hard HEAD
$ git clean -fd

Itu reset untuk membatalkan perubahan. Itu clean untuk menghapus yang tidak terlacak files dan direktori.


23
2017-12-15 20:36



git reset --hard origin/{branchName}

Ini akan menghapus semua file yang tidak terlacak.


6
2018-05-17 15:20