Bagaimana cara melakukan 'hg remove' Mercurial untuk semua file yang hilang?

224

Saya menggunakan ini untuk menghapus file dari repo:

hg remove <full file path> 

Perintah apa yang dapat Anda gunakan untuk melakukan hg removepada semua file yang telah dihapus secara lokal?

Dengan dihapus secara lokal, maksud saya yang muncul dengan !ketika Anda melakukannya hg status.

Untuk tambah, Anda bisa melakukannya hg adduntuk menambahkan semua file baru (yang diawali dengan ?).

Marcus Leon
sumber

Jawaban:

364

Ini akan menambahkan semua file baru yang tidak diabaikan, dan menghapus semua file yang hilang secara lokal

hg addremove

Salah satu dari ini akan menghapus semua file yang hilang secara lokal (Itu adalah perintah yang sama)

hg remove --after
hg remove -A
mfperzel
sumber
7
ada juga hg lupa yang sama dengan hg rm -Af
jk.
37
jk untuk nama pengguna mengancam, saya merasa seperti waktu luang saya membaca salah satu komentar Anda atau posting yang Anda katakan "hanya bercanda" di akhir :( yang dikatakan, ini membantu, tepuk tangan!
Lester Peabody
6
satu kata peringatan ... jangan panik ketika membuang sejumlah besar omong kosong ke layar ... (seperti yang saya lakukan)
Richard B
1
Wow! Terima kasih! Itu banyak membantu! Wow! +1 :) hg rm -A
Cullub
32

Jika Anda bermaksud melakukan addremove dan commit, itu bisa digabungkan dengan opsi '-A' seperti yang ditunjukkan di sini :

hg commit -A -m 'Commit with addremove'
kesembuhan
sumber
5

Pertanyaan awal bertanya bagaimana cara menghapus (mis. Lupa) file yang muncul seperti "!"ketika menggunakan hg st. Pendekatan langsung yang memiliki keunggulan transparansi adalah digunakan hg stdengan -nopsi:

hg -v forget $(hg st -nd)

(Tentu saja file hanya akan dilupakan pada komit berikutnya .)

Bendera didokumentasikan dengan baik di tempat lain (misalnya oleh perintah hg itu sendiri), tetapi secara singkat:

  • -n berarti "hanya nama file"
  • -d berarti "pilih file yang telah dihapus"
puncak
sumber
Bisakah Anda menjelaskan masing-masing bendera itu?
Cullub
1

Jika Anda ingin menambahkan penghapusan dan komit, tetapi tidak siap untuk melakukan sisa perubahan Anda, saya pikir Anda masih harus menyebutkannya:

$ hg st
M modified-file
A added-file
R removed-file-1
R removed-file-2

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-*
abort: removed-file-*: No such file or directory

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-1 removed-file-2
committed changeset 185:628800a7af84
Dan Ross
sumber