ฉันใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าสาขา git ท้องถิ่นที่มีbranch-name
อยู่ในพื้นที่เก็บข้อมูลของฉัน ถูกต้องหรือไม่ มีวิธีที่ดีกว่า?
โปรดทราบว่าฉันกำลังทำสิ่งนี้ภายในสคริปต์ ด้วยเหตุนี้ฉันต้องการใช้คำสั่งการวางท่อถ้าเป็นไปได้
git show-ref --verify --quiet refs/heads/<branch-name>
# $? == 0 means local branch with <branch-name> exists.
git branch | grep -w <branch-name>
ในความโง่เขลาของฉันฉันได้ไปด้วย ตกลงมันเป็นคำสั่งเครื่องเคลือบดินเผา แต่ฉันไม่สามารถจินตนาการได้ว่าการใช้งานเฉพาะนี้จะเปลี่ยนแปลงอย่างมีนัยสำคัญในอนาคตเพื่อทำให้ตัวอย่างข้อมูลนี้ใช้ไม่ได้ ...
git rev-parse --verify <branch_name>
ตรวจสอบการอ้างอิงอื่น ๆ เช่นแท็กและกระทำการแฮชดังนั้นแม้ว่ามันอาจจะเหมาะสมกว่าสำหรับสิ่งที่คุณต้องการมันจะส่งคืนผลบวกปลอมหากคุณสนใจเฉพาะในสาขาเท่านั้น