วิธีทำ 'hg remove' ของ Mercurial สำหรับไฟล์ที่หายไปทั้งหมด?


224

ฉันใช้สิ่งนี้เพื่อลบไฟล์ออกจาก repo:

hg remove <full file path> 

คำสั่งอะไรที่คุณสามารถใช้เพื่อทำhg removeในทุกไฟล์ที่ถูกลบในประเทศ?

โดยลบในประเทศผมหมายถึงผู้ที่แสดงด้วยเมื่อคุณทำ !hg status

สำหรับการเพิ่มคุณสามารถทำได้hg addเพื่อเพิ่มไฟล์ใหม่ทั้งหมด (ที่นำหน้าด้วย?)

คำตอบ:


364

วิธีนี้จะเพิ่มไฟล์ใหม่ทั้งหมดที่ไม่ได้ถูกละเว้นและลบไฟล์ที่หายไปในเครื่องทั้งหมด

hg addremove

อย่างใดอย่างหนึ่งเหล่านี้จะลบไฟล์ที่หายไปในเครื่องทั้งหมด (เป็นคำสั่งเดียวกัน)

hg remove --after
hg remove -A

7
นอกจากนี้ยังมี hg ลืมซึ่งเป็น eqivalent เพื่อ hg rm -Af
jk

37
jk สำหรับชื่อผู้ใช้ที่เป็นอันตรายฉันรู้สึกเหมือนชั่วขณะฉันอ่านหนึ่งในความคิดเห็นหรือโพสต์ของคุณที่คุณพูดว่า "ล้อเล่น" ในตอนท้าย :( ที่ถูกกล่าวว่าสิ่งนี้ช่วยไชโย!
Lester Peabody

6
หนึ่งคำเตือน ... ไม่ออกนอกลู่นอกทางเมื่อมันทิ้งทั้งกลุ่มของอึไปที่หน้าจอ ... (เหมือนผม)
ริชาร์ดบี

1
ว้าว! ขอบคุณ! นั่นช่วยได้มาก! ว้าว! +1 :) hg rm -A
Cullub


5

คำถามเดิมถามว่าจะลบไฟล์ (เช่นลืม) ที่แสดงเป็นเมื่อใช้"!" hg stวิธีการโดยตรงที่มีข้อได้เปรียบของความโปร่งใสคือการใช้hg stกับ-nตัวเลือก:

hg -v forget $(hg st -nd)

(แน่นอนว่าไฟล์จะถูกลืมในการกระทำครั้งต่อไป)

ธงมีเอกสารที่ดีที่อื่น (เช่นโดยคำสั่ง hg เอง) แต่โดยย่อ:

  • -n หมายถึง "ชื่อไฟล์เท่านั้น"
  • -d หมายถึง "เลือกไฟล์ที่ถูกลบ"

คุณอธิบายธงแต่ละอันได้ไหม
Cullub

1

หากคุณต้องการที่จะลบและกระทำ แต่ไม่พร้อมที่จะยอมรับการเปลี่ยนแปลงที่เหลือของคุณฉันคิดว่าคุณยังต้องระบุ:

$ 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.