Pertanyaan Bagaimana cara membuang perubahan tidak berubah di Git?


Bagaimana cara membuang perubahan dalam copy pekerjaan saya yang tidak ada dalam indeks?


3854
2017-09-09 19:33


asal


Jawaban:


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.


2179
2017-09-09 19:39



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.


4186
2017-09-09 19:37



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.


1614
2017-08-29 18:28



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

273
2018-06-20 10:28



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


210
2017-12-07 13:09



Favorit saya adalah

git checkout -p

Itu memungkinkan Anda mengembalikan potongan secara selektif.

Lihat juga:

git add -p

81
2017-10-10 12:31



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.


66
2018-04-28 19:46