git branch -a
แสดงให้เห็นถึงสาขาระยะไกลและท้องถิ่น
git branch -r
แสดงให้เห็นถึงสาขาระยะไกล
มีวิธีในการแสดงรายการเฉพาะสาขาท้องถิ่นหรือไม่
git branch -a
แสดงให้เห็นถึงสาขาระยะไกลและท้องถิ่น
git branch -r
แสดงให้เห็นถึงสาขาระยะไกล
มีวิธีในการแสดงรายการเฉพาะสาขาท้องถิ่นหรือไม่
คำตอบ:
เพียงแค่git branch
ไม่มีตัวเลือก
จาก manpage:
ไม่มีข้อโต้แย้งสาขาที่มีอยู่จะถูกแสดงรายการและสาขาปัจจุบันจะถูกเน้นด้วยเครื่องหมายดอกจัน
เพียงแค่คำสั่งธรรมดา
git branch
git branch -a
- ทุกสาขา
git branch -r
- สาขาระยะไกลเท่านั้น
git branch -l
หรือgit branch
- สาขาท้องถิ่นเท่านั้น
-l
ยืนสำหรับในขณะที่มันเป็นจริง--local
--list
ฉันขอแนะนำให้ลบออกเพื่อหลีกเลี่ยงความสับสน - โดยทางเทคนิคแล้วคำสั่งทั้งหมดในคำตอบนี้สามารถใช้ได้-l
และพวกเขาจะยังคงให้ผลลัพธ์เดียวกัน
หากเครื่องหมายดอกจันนำหน้าเป็นปัญหาฉันจะทำgit branch
ดังนี้
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
สิ่งนี้จะกำจัดบรรทัด '(ไม่มีสาขา)' ที่ปรากฏขึ้นเมื่อคุณถอดหัวออก
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
สำหรับ git เวอร์ชัน 1.9.1
cut -c 3-
เป็นตัวเลือกที่ง่ายขึ้น
หนึ่งในวิธีที่ตรงไปตรงมาที่สุดที่จะทำคือ
git for-each-ref --format='%(refname:short)' refs/heads/
มันทำงานได้อย่างสมบูรณ์แบบสำหรับสคริปต์เช่นกัน
นี่คือวิธีการแสดงรายการสาขาท้องถิ่นที่ไม่มีสาขาระยะไกลที่มีชื่อเดียวกัน:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
comm -23 <(git branch | sed 's|* | |' | sort) <(git branch -r | sed 's|origin/||' | sort )
วิธีอื่นในการรับรายการเฉพาะสาขาในพื้นที่คือ:
git branch -a | grep -v 'remotes'
มีคำตอบที่ดีในการโพสต์เกี่ยวกับวิธีลบเฉพาะสาขาในพื้นที่ ในนั้นเพื่อนสร้างคำสั่งเพื่อแสดงรายการสาขาท้องถิ่น:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
คำตอบมีคำอธิบายที่ดีเกี่ยวกับวิธีที่คำสั่งนี้ได้รับดังนั้นฉันขอแนะนำให้คุณไปอ่านโพสต์นั้น
เพื่อเติมเต็มคำตอบของ @ gertvdijk - ฉันเพิ่มภาพหน้าจอเล็กน้อยในกรณีที่ช่วยให้ใครบางคนรวดเร็ว
บนเปลือกทุบตีคอมไพล์ของฉัน
สาขาคอมไพล์
คำสั่งโดยไม่มีพารามิเตอร์ใด ๆ แสดงให้เห็นถึงสาขาในประเทศของฉันทั้งหมด สาขาปัจจุบันที่เช็คเอาท์ในปัจจุบันจะแสดงในสีที่แตกต่าง (สีเขียว) พร้อมกับเครื่องหมายดอกจัน (*) คำนำหน้าซึ่งเป็นเรื่องง่าย
เมื่อคุณพยายามที่จะเห็นทุกสาขารวมถึงสาขาระยะไกลโดยใช้
git branch -a
คำสั่งจากนั้นรีโมตแบรนช์ที่ยังไม่ได้เช็กเอาต์จะแสดงเป็นสีแดง: