การลบหลายไฟล์ออกจาก repo Git ที่ถูกลบออกจากดิสก์แล้ว


1311

ฉันมี repo Git ที่ฉันได้ลบสี่ไฟล์จากการใช้rm( ไม่ git rm ) และสถานะ Git ของฉันมีลักษณะดังนี้:

#    deleted:    file1.txt
#    deleted:    file2.txt
#    deleted:    file3.txt
#    deleted:    file4.txt

ฉันจะลบไฟล์เหล่านี้ออกจาก Git ได้อย่างไรโดยไม่ต้องดำเนินการด้วยตนเองและเพิ่มแต่ละไฟล์ดังนี้:

git rm file1 file2 file3 file4

เป็นการดีที่ฉันกำลังมองหาบางสิ่งบางอย่างที่ทำงานในลักษณะเดียวกันกับที่git add .ทำถ้าเป็นไปได้


2
เกี่ยวข้อง: stackoverflow.com/questions/1856654/…
kch

10
@seth มันไม่สะดวกที่จะใช้เสมอไปgit rmการลบอาจมาจากเครื่องมือแยกต่างหาก IDE หรือตัวจัดการไฟล์ Visual Studio for one อาจเป็นปัญหาเมื่อลบ / เปลี่ยนชื่อไฟล์
Brett Ryan

67
ฮึถามว่าทำไมคนที่ไม่ได้ใช้git rmเป็นบิตเช่นถามว่าทำไมพวกเขาไม่ใช้หรือgit vim git cdมันเป็นเรื่องโง่ที่ต้องทำและคอมไพล์ควรมีคำสั่งหรือนามแฝงในตัวเพื่อลบไฟล์ที่ถูกลบออกจากการจัดเตรียมและคุณไม่ควรมองมันบน SO หรืออ่าน man pages ในช่วงพักเที่ยงของคุณ
WCWedin

7
คำตอบของ Varinder ไม่ใช่วิธีที่ดี พิจารณาคอมไพล์ add -u ตามที่ Cody แนะนำและเป็นคำตอบของคำถามนี้: stackoverflow.com/questions/1402776/…
Roland

คำตอบ:


2300

สำหรับ Git 1.x

$ git add -u

สิ่งนี้จะบอกให้ git จัดการไฟล์ที่ถูกติดตามโดยอัตโนมัติรวมถึงการลบไฟล์ที่ถูกติดตามก่อนหน้านี้

สำหรับ Git 2.0

เพื่อจัดทำแผนผังการทำงานทั้งหมดของคุณ:

$ git add -u :/

หากต้องการจัดแสดงเฉพาะเส้นทางปัจจุบัน:

$ git add -u .

133
หมายเหตุว่านี้จะเพิ่มทุกการเปลี่ยนแปลงไฟล์ติดตาม - ลบและการปรับปรุง
เอียนฮันเตอร์

19
@beanland คุณต้องระบุเส้นทางไปยังไฟล์เฉพาะที่คุณต้องการแก้ไขหากคุณไม่ต้องการให้พวกเขาทั้งหมด เช่น git add -u [path]
Paul Prewett

27
ยังgit add -u folder/เรียกใช้การดำเนินการนี้ในโฟลเดอร์
ค ..

2
FYI: คำตอบนี้ผสานจากstackoverflow.com/questions/1402776/…
Shog9

1
อาจเป็นคำถามที่คนถามเมื่อมาถึงหน้านี้และอาจเป็นสิ่งที่ OP ต้องการให้ถามจริง แต่ไม่ตอบคำถามที่ถูกถาม
Relueestual

1362
git ls-files --deleted -z | xargs -0 git rm 

อาจเป็นสิ่งที่คุณกำลังมองหา .. มันได้ผลสำหรับฉัน ..


5
สำหรับ windows พยายามที่จะเพิ่มนามแฝงต่อไปนี้ในการกำหนดค่าของคุณโดยไม่ต้องพูดตามที่ระบุไว้ข้างต้นโดย Evan Moran 'ลบ =! git ls-files --deleted -z | xargs -0 git rm '
CLS

21
ระวังไฟล์ที่มีช่องว่างในชื่อของพวกเขา
maazza

44
@DaveEverittgit ls-files --deleted -z | xargs -0 git rm
Max Nanasy

15
git add -u ดังที่ Cody แนะนำนั้นเป็นวิธีที่ง่ายและปลอดภัยกว่ามากโดยไม่เสี่ยงกับการลบไฟล์โดยไม่ตั้งใจ
Roland

4
Downvoting นี่เป็นคำตอบที่ผิดแม้ว่ามันจะใช้ได้กับบางไฟล์ก็ตาม ใช้ "git add -u" ด้านล่าง นั่นคือสิ่งที่มันมีไว้เพื่อ
n13

733

คุณสามารถใช้ได้

git add -u

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

git commit -m "Deleted files manually"

100
โปรดทราบว่าผู้ใช้ Google: เพิ่มไฟล์ที่ถูกติดตามที่ถูกแก้ไขไปยังพื้นที่จัดแสดงเช่นกัน
erenon

4
เรียกใช้คำสั่งนี้เฉพาะเมื่อคุณเพิ่งลบไฟล์และต้องการแสดงในทันที
Aryo

1
ฉันไม่สามารถลบไฟล์จาก bitbucket repo]
srinivas gowda

356

หากคุณเพียงแค่เรียกใช้:

git add -u

git จะอัปเดตดัชนีเพื่อให้ทราบว่าไฟล์ที่คุณลบควรเป็นส่วนหนึ่งของการคอมมิทครั้งต่อไป จากนั้นคุณสามารถเรียกใช้ "คอมมิทคอม" เพื่อตรวจสอบการเปลี่ยนแปลงนั้น

หรือถ้าคุณเรียกใช้:

git commit -a

มันจะทำการเปลี่ยนแปลงเหล่านี้โดยอัตโนมัติ (และอื่น ๆ ) และทำการเปลี่ยนแปลง

อัปเดต : หากคุณต้องการเพิ่มไฟล์ที่ถูกลบเท่านั้นลอง:

git ls-files --deleted -z | xargs -0 git rm
git commit

1
ถูกต้องgit commit -aจะทำสิ่งที่ฉันต้องการยกเว้นในบางกรณีฉันมีไฟล์ที่ฉันไม่ต้องการส่งดังนั้นฉันต้องการเตรียมการส่งมอบด้วยตนเอง
Igor Zevaka

2
กระทำ - เป็นหลักทำ "เพิ่ม -u" ก่อน; มันจะอัปเดตดัชนีเมื่อมีการเปลี่ยนแปลงใด ๆ กับไฟล์ที่รู้จัก (ไม่ว่าจะเป็นการลบหรือการเปลี่ยนแปลงอย่างง่าย) แน่นอนคุณสามารถเจาะจงมากขึ้นและเพิ่ม / rm เฉพาะไฟล์ที่คุณต้องการ git.or.cz/gitwiki/…อาจเป็นประโยชน์
เอมิลนั่ง

2
ชุดคำสั่งที่อยู่ใต้ "อัปเดต: .. " ทำงานเหมือนมีเสน่ห์ ขอบคุณ!
Jay Taylor

10
ขอบคุณมากสำหรับ 'git ls-files - ถูกลบ | xargs git rm '!
mit

18
"git ls-files - ถูกลบ | xargs git rm" คือคำตอบที่ถูกต้อง! ขอบคุณ!
โหลด

166

คุณอาจกำลังมองหา -:

git add -A

ซึ่งคล้ายกับ git add -u แต่ก็เพิ่มไฟล์ใหม่ นี่คือคำสั่ง hg โดยประมาณที่เทียบเท่ากันaddremove(แม้ว่าการตรวจจับการเคลื่อนไหวจะเป็นไปโดยอัตโนมัติ)


8
ในบันทึกย่อแบบด่วนการใช้ -u จำกัด การเพิ่มลงในไฟล์ที่ติดตามและ -a จะรวมไฟล์ที่ไม่ได้ติดตามไว้ด้วย แค่คิดว่าฉันจะชี้ให้เห็นความแตกต่าง
spaaarky21

ในขั้นตอนนี้คุณอาจเพิ่มทั้งหมดผ่านทางแฟล็ก commit -a
Zac Grierson

94

หากต้องการแสดงเฉพาะไฟล์ที่ถูกลบ :

for x in $(git status | grep deleted | awk '{print $2}'); do git rm $x; done

หรือ (วิธี xargs):

git status | awk '/deleted/ {print $2}' | xargs git rm

คุณสามารถตั้งชื่อคำสั่งที่คุณต้องการเพื่อความสะดวกในการใช้งานในภายหลัง


2
@Saeb เข้าใจเกี่ยวกับคิว แต่xargsใช้เวลาประมาณ 15 นาทีในการควบคุม
Eric Wilson

11
git status | awk '/deleted/ {print $3}' | xargs git rmจะเป็นวิธีที่สั้นกว่าในการทำเช่นนั้น grep | awk... เพียงแค่บอกว่าไม่
Mark Reed

58
git rm $(git ls-files --deleted)ไม่สะดวกกว่านี้ (คัดลอกมาจากนี้ )
Hotschke

1
xargs หรือการแทนที่ $ () ด้านบนหากคุณรู้ว่ารายการไม่ใหญ่มาก หากรายการมีขนาดใหญ่: git ls-files --deleted | while read f; do git rm $f; done
แอนดรู

2
@Andrew อาจจะมีประสิทธิภาพมากกว่าห่วงในขณะที่สำหรับรายการใหญ่เพราะมันผ่านไปกว่าหนึ่งอาร์กิวเมนต์ในแต่ละครั้งจะรันxargs git rmในการ จำกัด จำนวนอาร์กิวเมนต์ที่ส่งไปยังgit rmแต่ละครั้งที่มีการใช้งานให้ใช้-nตัวเลือก:git ls-files --deleted | xargs -n 15 git rm
Ajedi32

61
git rm test.txt

ก่อนหรือหลังคุณลบไฟล์จริง


7
ในขณะที่มันใช้งานได้ฉันมักจะพบว่าตัวเองกำลังลบไฟล์จำนวนมากผ่านrmและเพียงแค่เสียใจในภายหลัง
carl

4
นี่คือเหตุผลที่เลวร้ายยิ่งกว่าการทำgit add -u? ดูเหมือนว่าจะปลอดภัยกว่าในการเพิ่มไฟล์เฉพาะที่ถูกลบไปยังคอมมิชชันแทนที่จะเพิ่มการเปลี่ยนแปลงทั้งหมด
Ian Dunn

2
จริง ๆ แล้วนี่ควรเป็นคำตอบที่ดีที่สุดตามบรรทัดสุดท้ายของคำถาม "ฉันแค่ต้องการคำสั่งที่ลบไฟล์ทั้งหมดจากคอมไพล์ที่ถูกลบออกจากดิสก์ด้วย"
Ramsharan

2
@ รามันรันไม่ได้เพราะมันไม่ได้ทำแบบนั้นเลย เป็นการลบไฟล์เดียว OP SPECIFICALLY ร้องขอไฟล์ที่ถูกลบ "all"
อดัม

1
@ Ramsharan no นั่นคือประเด็น - ในเกือบทุกกรณีที่คุณไม่สามารถใช้ wildcard ได้ (ไม่มี wildcard ที่จะตรงกัน) นี่คือเหตุผลที่มีคำตอบหลักคือซับซ้อนมากขึ้น
อดัม

49

โดยใช้ git-add กับตัวเลือก '--all' หรือ '- ปรับปรุง' คุณอาจได้รับมากกว่าที่คุณต้องการ ไฟล์ใหม่และ / หรือที่แก้ไขจะถูกเพิ่มลงในดัชนีด้วย ฉันมี bash alias setup สำหรับเมื่อฉันต้องการลบไฟล์ที่ถูกลบออกจาก git โดยไม่ต้องแตะไฟล์อื่น:

alias grma='git ls-files --deleted -z | xargs -0 git rm'

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


39

ไม่ใช่ว่ามันสำคัญจริงๆ แต่ฉันไม่เห็นด้วยกับคำตอบที่เลือก:

git add -u 

... จะลบไฟล์ออกจากดัชนีหากไฟล์ที่เกี่ยวข้องในแผนผังการทำงานถูกลบไปแล้ว แต่จะเป็นการแสดงเนื้อหาใหม่ที่ถูกแก้ไขของไฟล์ที่ติดตาม

git rm $(git ls-files --deleted)

... ในอีกทางหนึ่งจะเป็นการลบไฟล์ที่ถูกติดตามเท่านั้น

ดังนั้นหลังในมุมมองของฉันเป็นตัวเลือกที่ดีกว่า


29

หากสิ่งเหล่านี้เป็นเพียงการเปลี่ยนแปลงคุณสามารถทำได้

git commit -a

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


3
ไม่แน่ใจว่าทำไมฉันจึงลงคะแนน git ทำงานได้ดีในการระบุไฟล์ที่ถูกลบแม้ว่าคุณจะไม่ได้บอกอย่างชัดเจนโดยใช้ git rm
SpoonMeiser

คุณลงคะแนนเพราะ "-a" ไม่ใช่สวิตช์ที่ยอมรับได้นั่นคือ "-A" แก้ไขคำตอบของคุณ
Sheharyar

10
ไม่มี "-a" เป็นสวิทช์ที่ยอมรับได้เพราะคำสั่งคือกระทำ "-A" เป็นสวิทช์ไปเพิ่มแต่ไม่กระทำ ฉันเห็นว่าการแก้ไขที่แนะนำของคุณถูกปฏิเสธแล้ว
SpoonMeiser

ในกรณีที่สิ่งเดียวที่คุณกระทำคือไฟล์ที่ถูกลบให้เพิ่มสวิตช์ - อนุญาตให้ว่างเปล่า
บิลริชาร์ด

เอ่อจริง ๆ แล้วจะว่างเปล่าก็ต่อเมื่อคุณทำคอมไพล์ rm
เก็บไว้แล้ว

20
git ls-files --deleted | xargs git rm 

เป็นตัวเลือกที่ดีที่สุดในการเพิ่มเฉพาะไฟล์ที่ถูกลบ

นี่คือตัวเลือกอื่น ๆ

git add .  => Add all (tracked and modified)/new files in the working tree.

git add -u => Add all modified/removed files which are tracked.

git add -A => Add all (tracked and modified)/(tracked and removed)/new files in the working tree.

git commit -a -m "commit message" - Add and commit modified/removed files which are tracked.

16

git เพิ่ม -u

-u - ปรับปรุงเฉพาะจับคู่กับไฟล์ที่ถูกติดตามแล้วในดัชนีมากกว่าแผนผังการทำงาน นั่นหมายความว่าจะไม่ทำการจัดลำดับไฟล์ใหม่ แต่จะทำการปรับเปลี่ยนเนื้อหาใหม่ของไฟล์ที่ถูกติดตามและจะลบไฟล์ออกจากดัชนีหากไฟล์ที่เกี่ยวข้องในแผนผังการทำงานถูกลบทิ้ง

หากไม่ได้รับค่าเริ่มต้นเป็น "."; กล่าวอีกนัยหนึ่งอัพเดตไฟล์ที่ถูกติดตามทั้งหมดในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อย


คำตอบที่ได้รับคะแนนสูงสุดบอกว่าใช้git add -uแล้ว สิ่งอื่น ๆ ในคำตอบของคุณมาจากที่ไหนเอกสารประกอบ? คุณควรเชื่อมโยงไปยังเอกสารประกอบและบล็อกข้อความถ้ามี
TheWarriorNamedFoo

14

วิธีง่ายๆนั้นใช้ได้ผลดีสำหรับฉัน:

git rm $(git ls-files --deleted)

ฉันคิดว่าคุณควรใช้เปลือกคอมไพล์กับคุณไดเรกทอรีการทำงานปัจจุบัน
Houssem Badri

2
มันดีและเรียบง่าย แต่ไม่ทำงานกับโฟลเดอร์แบบเรียกซ้ำ
DrB

@BehnazChangizi ฉันคิดว่ามันทำstackoverflow.com/questions/1054044/…
Houssem Badri

@PvdL ไม่ได้รับการยอมรับช่องว่างในเส้นทางเป็น os-specefic ปัญหา
Houssem Badri

11

ถ้าคุณต้องการที่จะเพิ่มลงในของคุณ.gitconfigทำสิ่งนี้:

[alias]
  rma = !git ls-files --deleted -z | xargs -0 git rm

จากนั้นสิ่งที่คุณต้องทำคือเรียกใช้:

git rma

1
และจากบรรทัด cmdgit config --global alias.rmd '!git ls-files --deleted -z | xargs -0 git rm'
Casey

9
git ls-files --deleted -z | xargs -0 git rm --cached

การดำเนินการนี้จะลบไฟล์ที่ถูกลบทั้งหมดที่ถูกติดตามโดย git ก่อนหน้ารวมทั้งจัดการกับกรณีที่ชื่อไฟล์ของคุณมีช่องว่างอยู่

ขึ้นอยู่กับตัวแปร POSIX ของคุณคุณอาจจำเป็นต้องใช้xargs -0 -r: สิ่งนี้จะทำให้xargsการออกอย่างสง่างามเมื่อมีเนื้อหาเป็นโมฆะ

แก้ไข: --cachedและ--deletedมีการใช้แฟล็กควบคู่เพื่อป้องกันไฟล์ที่ไม่ถูกลบไปโดยไม่ตั้งใจ


7

บอกคำสั่งให้สเตจไฟล์ที่แก้ไขและลบโดยอัตโนมัติ แต่ไฟล์ใหม่ที่คุณไม่ได้บอก Git เกี่ยวกับจะไม่ได้รับผลกระทบ:

-a
--all

git add . && git commit -m -a "Your commit"

หรือ

git add --all && git commit -m "Your commit"

1
git add - & & git กระทำทั้งหมด - m "การกระทำของคุณ" สิ่งนี้ใช้ได้กับฉันใน windows-7 โดยใช้เชลล์คำสั่ง Git bash
kmarabet

1
คำสั่งต่อไปนี้ทำงานให้ฉันใน windows-7 โดยใช้เชลล์คำสั่ง Git bash: $ git add - all && git commit -m "ลบไฟล์คุณสมบัติ" [master 58c41ac] ลบไฟล์คุณสมบัติ 1 ไฟล์เปลี่ยน 9 การลบ (-) .. จากนั้นจะผลักดันการเปลี่ยนแปลงที่มุ่งมั่นไปยังพื้นที่เก็บข้อมูลระยะไกลได้ทำงาน: $ git push origin .. การนับวัตถุ: 10 เสร็จแล้ว
kmarabet


6

โปรดใช้-tเพื่อดูว่าคำสั่งใดกำลังถูกเรียกใช้จริง

ฉันเพิ่ง tweaked Virender ตอบให้ทำแบบเดียวกัน:

git ls-files --deleted -z | xargs -t -0 git rm

5

การตั้งค่าสถานะเพื่อ git-add จะไม่ทำการลบไฟล์เท่านั้น หากสิ่งที่คุณแก้ไขเป็นไฟล์ที่ถูกลบแล้วคุณก็สบายดี แต่อย่างอื่นคุณต้องเรียกใช้ git-status และแยกเอาท์พุท

จากคำตอบของ Jeremy นี่คือสิ่งที่ฉันได้รับ:

git status |  sed -s "s/^.*deleted: //" | grep "\(\#\|commit\)" -v | xargs git rm
  1. รับสถานะของไฟล์
  2. สำหรับไฟล์ที่ถูกลบให้แยกชื่อไฟล์
  3. ลบบรรทัดทั้งหมดที่ขึ้นต้นด้วย #s รวมถึงบรรทัดสถานะที่มีคำว่า "ลบ" อยู่ด้วย ฉันจำไม่ได้ว่ามันคืออะไรกันแน่และมันไม่มีอีกต่อไปดังนั้นคุณอาจต้องแก้ไขสิ่งนี้ในสถานการณ์ที่แตกต่างกัน ฉันคิดว่าการจัดกลุ่มของนิพจน์อาจเป็นคุณลักษณะเฉพาะของ GNU ดังนั้นหากคุณไม่ได้ใช้ gnutils คุณอาจต้องเพิ่มหลายgrep -vบรรทัด
  4. git rmผ่านไฟล์ไปยัง

การผสานสิ่งนี้ในนามแฝงของเชลล์ตอนนี้ ...


5

ตามที่กล่าวไว้

git add -u

เรียกคืนไฟล์ที่ถูกลบเพื่อทำการลบ แต่ BUT ALSO จะทำการแก้ไขไฟล์เพื่อทำการอัพเดต

หากต้องการเลิกทำไฟล์ที่แก้ไขแล้วคุณสามารถทำได้

git reset HEAD <path>

หากคุณต้องการรักษาความมุ่งมั่นและความสะอาด
หมายเหตุ:วิธีนี้อาจทำให้ไฟล์ที่ถูกลบไม่เสถียรดังนั้นควรระมัดระวังด้วยสัญลักษณ์ตัวแทนเหล่านั้น


4
git commit -m 'commit msg' $(git ls-files --deleted)

สิ่งนี้ใช้ได้กับฉันหลังจากฉันลบไฟล์ไปแล้ว


3

ฉันต้องการปุ่ม git gui เดียวกันและใช้ "ขั้นตอนเปลี่ยน" มันยังเพิ่มทั้งหมด

และหลังจาก "เวทีเปลี่ยน" ฉันทำ "ส่ง" ...

ดังนั้นไดเรกทอรีการทำงานของฉันจึงสะอาดอีกครั้ง


การใช้กุยคือการโกง, lol! แต่เร็วกว่าในกรณีที่ผู้ออกแบบ GUI ครอบคลุมความต้องการของคุณ มันเป็นการดีที่จะรู้ว่าคนจรจัดด้วย 'สิ่งที่อยู่ภายใต้ประทุน'
เดนนิส

1
FYI: คำตอบนี้ผสานจากstackoverflow.com/questions/1402776/…
Shog9

3
git rm $(git ls-files -d)

ลบไฟล์ทั้งหมดที่แสดงรายการโดยgit ls-filesคำสั่ง (-d แสดงเฉพาะไฟล์ที่ถูกลบ) ใช้งานไม่ได้กับไฟล์ที่มีช่องว่างในชื่อไฟล์หรือพา ธ แต่ให้จดจำได้ง่าย


2

คุณสามารถใช้git add -u <filenames>เพื่อจัดไฟล์ที่ลบเท่านั้น

ตัวอย่างเช่นถ้าคุณลบไฟล์แล้วใช้templates/*.tplgit add -u templates/*.tpl

-uเป็นสิ่งจำเป็นเพื่อที่จะอ้างถึงไฟล์ที่มีอยู่ในพื้นที่เก็บข้อมูลที่มีอยู่ แต่ไม่ได้อยู่ในไดเรกทอรีการทำงาน มิฉะนั้นค่าเริ่มต้นของgit addคือการค้นหาไฟล์ในไดเรกทอรีการทำงานและหากคุณระบุไฟล์ที่คุณลบไปแล้วไฟล์นั้นจะไม่สามารถค้นหาได้


2

การเพิ่มชื่อแทนระบบสำหรับการจัดเตรียมไฟล์ที่ถูกลบเป็นคำสั่ง rm-all

ยูนิกซ์ alias rm-all='git rm $(git ls-files --deleted)'

WINDOWS doskey rm-all=bash -c "git rm $(git ls-files --deleted)"

บันทึก

Windows จำเป็นต้องbashติดตั้ง


2

(รูปแบบอื่นอีก)

ฉันต้องการลบทั้งหมดที่ถูกลบไปแล้วจากไฟล์ดิสก์ แต่จากโฟลเดอร์หนึ่งโดยเฉพาะปล่อยให้โฟลเดอร์อื่น ๆ ไม่ถูกแตะต้อง การทำงานต่อไปนี้สำหรับฉัน:

git ls-files --deleted  | grep <folder-name> | xargs git rm

1

สิ่งที่ต้องการ

git status | sed -s "s/^.*deleted: //" | xargs git rm 

อาจทำ


2019 git เวอร์ชั่น 2.13.3:git diff --diff-filter=D --name-only | xargs git rm
151841

1

สำหรับโครงการ visual studio

'git ls-files --deleted | sed 's/(.*)/"\1"/'| xargs git rm' 

ซึ่งมีประโยชน์เมื่อเส้นทางไฟล์ที่ถูกลบมีพื้นที่ว่าง


-1

ทางออกที่ยืดหยุ่นที่สุดที่ฉันพบในปัจจุบันคือการ

git cola

และเลือกไฟล์ที่ถูกลบทั้งหมดที่ฉันต้องการสเตจ

(หมายเหตุฉันมักจะทำทุกอย่าง commandline ในคอมไพล์ แต่คอมไพล์จัดการไฟล์ที่ลบออกไปอย่างเชื่องช้า)


อักขระตัวแทนไม่ทำงานให้ฉันด้วยgit add -u path/to/my/deleted-files-pattern-*.ymlนี่คือคำตอบที่ดีที่สุดสำหรับฉัน (ไม่ต้องการแสดงไฟล์ที่ถูกลบทั้งหมด แต่ 50 ในสองสามร้อย)
mlncn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.