ฉันจะลบGitของฉันทั้งหมดพร้อมกันได้อย่างไร
ฉันหมายถึงเฉพาะเจาะจงด้วยการพิมพ์คำสั่งเดียว
ฉันจะลบGitของฉันทั้งหมดพร้อมกันได้อย่างไร
ฉันหมายถึงเฉพาะเจาะจงด้วยการพิมพ์คำสั่งเดียว
คำตอบ:
คำสั่งต่อไปนี้จะลบการหยุดของคุณทั้งหมด:
git stash clear
จากเอกสาร git :
clearลบสถานะที่เก็บไว้ทั้งหมด
คำเตือนที่สำคัญ: จากนั้นรัฐเหล่านั้นจะถูกตัดแต่งกิ่งและอาจเป็นไปไม่ได้ที่จะกู้คืน (... )
stash drop(" นำรัฐ stashed เดียวจากรายการสะสมเมื่อไม่มี <สะสม> จะได้รับมันเอาคนล่าสุด ( ... ).. ') ไม่ตอบคำถาม (' ฉันจะลบทั้งหมดของ Git ของฉันหยุดทำงานทันทีหรือไม่ ")?
                    git stash clearเพื่อยืนยันว่าถูกลบทั้งหมดให้ใช้ -git stash list
                    gitเป็นไปไม่ได้ที่จะหา! git-scm.com/docs/git-stash
                    git help <command>เป็นวิธีที่ดีที่สุดในการรับเอกสาร (และจริง ๆ แล้วมันค่อนข้างดี) ในกรณีนี้git help stashแสดงให้เห็นชัดเจนว่าgit stash clearเป็นการกระทำ (นี่ไม่ได้หยุดฉันจากการมาถึงก่อนและถอนคำตอบ ... แต่นั่นบอกคุณเกี่ยวกับฉันมากกว่าgit: D)
                    มีสองวิธีในการลบที่ซ่อน:
$ git stash drop <stash_id>หากคุณไม่จำเป็นต้องซ่อนโดยเฉพาะอย่างยิ่งคุณสามารถลบได้ด้วย:$ git stash clearกับ:ใช้ทั้งคู่ด้วยความระมัดระวังอาจเป็นเรื่องยากที่จะคืนค่าการเก็บข้อมูลที่ถูกลบครั้งเดียว
คำสั่งนี้ช่วยให้คุณสามารถดูการเปลี่ยนแปลงที่เก็บไว้ทั้งหมด
git stash list
นี่คือคำสั่งต่อไปนี้ใช้เพื่อล้างการเปลี่ยนแปลงที่ถูกเก็บถาวรทั้งหมดของคุณ
git stash clear
ตอนนี้หากคุณต้องการลบการเปลี่ยนแปลงที่เก็บไว้อย่างใดอย่างหนึ่งจากพื้นที่เก็บ
git stash drop stash@{index}   // here index will be shown after getting stash list.
หมายเหตุ:
git stash listช่วยให้คุณรับดัชนีจากพื้นที่ซ่อนของ git
git stash drop 'stash@{index}'ด้วยเครื่องหมายอะโพสโทรฟี
                    ฉันต้องการเก็บ stash ล่าสุดบางอย่าง แต่ลบทุกอย่างอื่น
เนื่องจากการหยุดทั้งหมดได้รับการกำหนดหมายเลขใหม่เมื่อคุณดรอปใหม่นี่จึงเป็นเรื่องง่ายที่จะทำ หากต้องการลบการซ่อนทั้งหมดที่เก่ากว่า stash @ {19}:
while git stash drop 'stash@{20}'; do true; donegit stash pop 3แทนได้หรือไม่? ฉันต้องการทราบว่าเราสามารถใช้การwhileวนซ้ำและการหยุดชั่วคราวโดยใช้ค่าดัชนี
                    ฉันมีข้อกำหนดอื่นเช่นต้องมีการลบ stash เพียงไม่กี่รหัสด้านล่างจะมีประโยชน์ในกรณีนั้น
#!/bin/sh
for i in `seq 5 8`
do
   git stash drop stash@{$i}
done
/ * จะลบจากดัชนี 5 ถึง 8 * /
for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
                    for i in `seq 4`; do git stash drop 'stash@{5}'; done
                    do
                    ถ้าคุณต้องการที่จะลบที่ซ่อนล่าสุดหรือที่ดัชนีใด ๆ -
git stash drop type_your_index
> git stash list
  stash@{0}: abc
  stash@{1}: xyz
  stash@{1}: pqr
> git stash drop 0
  Dropped refs/stash@{0}
> git stash list
  stash@{0}: xyz
  stash@{1}: pqr
หากคุณต้องการลบที่ซ่อนทั้งหมดในครั้งเดียว -
> git stash clear
>
> git stash list
>
คำเตือน : เมื่อเสร็จแล้วคุณจะไม่สามารถคืนการสะสมของคุณได้
หากต้องการลบการหยุดทั้งหมดที่เก่ากว่า 40 วันให้ใช้:
git reflog expire --expire-unreachable=40.days refs/stash
เพิ่ม--dry-runเพื่อดูว่าระบบลบข้อมูลใด
ดูhttps://stackoverflow.com/a/44829516/946850สำหรับคำอธิบายและรายละเอียดเพิ่มเติม