Saya keliru menambahkan file menggunakan perintah "git add dir". Saya belum menjalankan "git commit". Apakah ada cara untuk menghapus dir ini dan semua yang ada di dalamnya dari komit?
Saya sudah mencoba git reset dir
, tetapi tidak berhasil. Rupanya git reset file
cara untuk membatalkannya. Tapi saya punya banyak file dan waktu yang sangat sedikit.
git reset <path>
memperbarui indeks untuk jalur itu sehingga cocokHEAD
(komit saat ini). Itu tidak menyentuh pohon yang berfungsi.Jawaban:
Untuk menghapus direktori dan semua yang ada di dalamnya dari indeks,
The
--cached
merek beralihgit rm
beroperasi pada indeks saja dan tidak menyentuh copy pekerjaan. The-r
beralih membuatnya rekursif.sumber
--cached
tombol. Meskipun demikian, saya telah mengedit jawaban untuk memenuhi syarat bahwa itu hanya berlaku untuk indeks.git reset HEAD folder
perbaikan semua ... tapi sebelum melakukan ini, lakukangit status folder
, dan pastikan ia mengatakan 'menghapus' semua file pada folder ituAnda akan ingin menggunakangit rm --cached -r <dir>
. perintah ini akan menghapus isi direktori yang dipentaskan dari indeks.jika direktori sudah dilacak Anda harus menemukan file baru dan lama secara manual dan menghapus stage mereka ...Mungkin dijalankangit reset <dir>
setelah itu untuk mereset file yang ada (dan sudah dilacak) di dalam direktori.Pembaruan 2019:
Cukup jalankan
git reset directory
, itu akan menghapus stage semua file yang baru ditambahkan.sumber
git reset <dir>
cukup sendiri?git reset <dir>
akan berhasil juga. Jawabannya dari 2011, jadi saya tidak yakin apakah itu sudah bekerja 8 tahun yang lalu. Saya akan memperbarui jawabannya. Terima kasih atas petunjuknya!Gunakan
find
danxargs
:sumber
Direktori unstage
Hapus semua file dan folder yang saya tampilkan dengan:
Konfirmasikan direktori tidak stage
Untuk mengonfirmasi penghapusan direktori dan isinya dari pementasan (yaitu "Perubahan yang harus dilakukan"), jalankan di bawah ini:
atau
untuk mengkonfirmasi bahwa tidak ada folder atau file yang dipentaskan sebelumnya masih dipentaskan.
sumber
Satu perintah sederhana untuk menghapus file / folder yang dipentaskan, yang belum berkomitmen adalah -
git restore --staged <dir>
.sumber