git gone - คำสั่งแบบกำหนดเองสำหรับลบทุกสาขาที่ถูกลบบนรีโมต
(erikschierboom.com)ในกรณีที่มี local branch ซึ่งติดตาม remote branch อยู่ แล้ว remote branch นั้นถูกลบไป สามารถตั้งค่าคำสั่งแบบกำหนดเองเพื่อช่วยลบ local branch ที่หลงเหลืออยู่เฉพาะบนเครื่องของเราได้
- อาศัยข้อเท็จจริงที่ว่าเมื่อ remote branch ถูกลบในขณะที่อยู่ในสถานะติดตาม สถานะจะเปลี่ยนเป็น
[gone] - คำสั่ง
git goneจะทำ 2 อย่าง- ทำ prune ผ่าน
git fetch -p(อัปเดตข้อมูลของ remote branch ที่ถูกลบ) - ลบ local branch ทั้งหมดที่กำลังติดตาม remote branch ที่ถูกลบไป
- ทำ prune ผ่าน
- local branch ที่ไม่มี remote branch ให้ติดตามจะไม่ถูกลบ
หากใช้คำสั่งด้านล่างในเทอร์มินัลที่สามารถรัน git ได้ ก็จะเพิ่มคำสั่ง git gone เป็น custom command ได้
git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '\$2 == \"[gone]\" {print \$1}' | xargs -r git branch -D"
ยังไม่มีความคิดเห็น