Hapus jejak file tanpa menghapusnya?

23

Saya memiliki file yang dilacak dalam repositori git. Bagaimana cara menghapus file ini tanpa menghapusnya menggunakan magit?

paling mematikan
sumber

Jawaban:

20

Memukul iakan gitignore file dan melepaskannya dari repositori git.

Di belakang layar, memang git rm --cached- Info lebih lanjut tentang perintah git ini dari pertanyaan StackOverflow

Kaushal Modi
sumber
Perhatikan bahwa Anda tidak perlu menambahkannya ke file gitignore. Buang saja (saya percaya secara default "k") perubahan pada gitignore setelah saya.
deadghost
Membuang (menggunakan k) hanya mengembalikan konten file ke status komitmen terakhir; itu tidak melepaskannya. Untuk mengujinya, modifikasi file yang baru saja Anda buang, tekan gdi buffer magit untuk menyegarkan konten dan Anda akan melihat file itu muncul sekali lagi di bagian Unstaged .
Kaushal Modi
Maksud saya membuang perubahan pada .gitignore.
deadghost
Baiklah, sekarang saya mengerti apa yang Anda katakan. Hit pertama ipada file yang ingin Anda untrack dan kemudian memukul kpada .gitignore. Untuk kasus penggunaan saya, jika ada file yang ingin saya lacak, saya biasanya ingin gitignore juga. Dengan begitu buffer magit saya tetap bersih dan kosong :)
Kaushal Modi
3
Jika Anda tidak perlu menambahkan file ke gitignore, gunakan K (itu huruf besar k).
Patrick Fournier
6

Di buffer Magit, tekan K (huruf besar k) pada file. Ini bekerja dengan magit 2.3; Saya tidak tahu untuk versi sebelumnya.

Patrick Fournier
sumber
f6a6f40fe8321f3ceb4b8ea9581e450149fea66a , sepertinya sudah sejak 2.1
npostavs
2
Saya merasa ini harus menjadi jawaban yang diterima untuk pertanyaan yang diajukan, meskipun yang lain sangat membantu.
salotz
5

Gunakan M-x magit-file-untrackdari buffer yang mengunjungi file yang dilacak atau dari buffer Magit. Ketika buffer mengunjungi file maka file itu ditawarkan sebagai pilihan default.

Ketika titik ada pada file dalam buffer Magit, maka itu juga ditawarkan sebagai default. Anda mungkin juga ingin menambahkan yang baru magit-insert-tracked-fileske magit-status-sections-hook, kemudian pohon dari semua file yang dilacak dimasukkan ke dalam buffer status (tetapi melakukannya mungkin tidak baik untuk kinerja dalam repositori besar).

tarsius
sumber