Pertanyaan Bagaimana cara menghapus satu file dari area pementasan Git tetapi tidak menghapusnya dari indeks atau membatalkan perubahan pada file itu sendiri?


Situasi: Saya memiliki repositori Git dengan file yang sudah ada dalam indeks. Saya membuat perubahan ke beberapa file, buka Git dan tambahkan file ini ke area pementasan saya dengan "git add."

Pertanyaan: Bagaimana cara menghapus salah satu file dari area staging tetapi tidak menghapusnya dari indeks atau membatalkan perubahan pada file itu sendiri?


962
2017-10-01 19:24


asal


Jawaban:


Jika saya memahami pertanyaan dengan benar, Anda hanya ingin "membatalkan" git add yang dilakukan untuk file itu.

Jika Anda perlu menghapus file tunggal dari area pementasan, gunakan

git reset HEAD -- <file>

Jika Anda perlu menghapus seluruh direktori (folder) dari area pementasan, gunakan

git reset HEAD -- <directoryName>

Modifikasi Anda akan disimpan. Saat Anda berlari git status file akan sekali lagi muncul sebagai dimodifikasi tetapi belum dipentaskan.

Lihat git reset halaman manual untuk detailnya.


1495
2017-10-01 19:29



git rm --cached FILE

,

git rm -r --cached CVS */CVS

137
2018-05-07 12:25



git reset <file>

Berfungsi apakah Anda memiliki komitmen sebelumnya atau tidak.


77
2017-08-13 04:20



Jadi, sedikit perubahan pada jawaban Tim Henigan: Anda harus menggunakan - sebelum nama file. Akan terlihat seperti ini:

git reset HEAD -- <file>

48
2018-02-21 16:55



git reset filename.txt

Jika Anda memiliki modifikasi di filename.txt, Anda menambahkannya ke tahap demi kesalahan dan Anda ingin menghapus file dari pementasan tetapi Anda tidak ingin kehilangan perubahan.


6
2018-03-20 10:53



Jika Anda ingin menghapus file mengikuti pola tertentu dan Anda gunakan git rm --cached, Anda juga bisa menggunakan pola glob-file.

Lihat sini.


5
2018-01-04 09:21



Jika Anda hanya ingin menghapus sebagian dari perubahan pada file Anda, Anda dapat menggunakan:

git reset -p

atau

git reset -p <file_name>

Perintah ini pada dasarnya adalah kebalikan dari git add -p: itu hanya akan menghapus perubahan yang dipilih dari area staging. Saya merasa ini sangat berguna dalam "melepaskan" sesuatu yang saya tambahkan secara tidak sengaja.


5
2018-02-17 22:13



Kamu ingin:

  • Mempengaruhi satu file

  • Hapus file dari area pementasan

  • Tidak menghapus satu file dari indeks

  • Jangan membatalkan perubahan itu sendiri

dan solusinya adalah

git reset HEAD file_name.ext

atau

git reset HEAD path/to/file/file_name.ext

2
2017-10-31 09:33



Saat kamu melakukan git status, Git memberi tahu Anda cara unstage:

Changes to be committed: (use "git reset HEAD <file>..." to unstage).

Begitu git reset HEAD <file> bekerja untuk saya dan perubahan itu tidak tersentuh.


1
2018-05-08 01:19



Anda harus berada di direktori file dan kemudian ketik yang berikut ini ke terminal

git reset HEAD .

Asumsi adalah Anda harus mereset satu file saja.


-1
2017-09-26 19:51