Câu trả lời:
Chỉ cần git branch
không có tùy chọn.
Từ trang hướng dẫn:
Không có đối số, các nhánh hiện có được liệt kê và nhánh hiện tại sẽ được tô sáng bằng dấu hoa thị.
chỉ là lệnh đơn giản
git branch
git branch -a
- Tất cả các chi nhánh.
git branch -r
- Chỉ chi nhánh từ xa .
git branch -l
hoặc git branch
- Chỉ các chi nhánh địa phương .
-l
chữ viết tắt --local
, trong khi thực tế --list
. Tôi sẽ đề nghị loại bỏ nó để tránh sự nhầm lẫn đó - về mặt kỹ thuật tất cả các lệnh trong câu trả lời này có thể sử dụng -l
và chúng vẫn trả về kết quả tương tự.
Nếu dấu hoa thị hàng đầu là một vấn đề, tôi dẫn đường git branch
như sau
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Điều này cũng giúp loại bỏ dòng '(không có nhánh)' hiển thị khi bạn tách đầu.
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
phiên bản git 1.9.1.
cut -c 3-
là một lựa chọn dễ dàng hơn
Một trong những cách đơn giản nhất để làm điều đó là
git for-each-ref --format='%(refname:short)' refs/heads/
Điều này hoạt động hoàn hảo cho các kịch bản là tốt.
Dưới đây là cách liệt kê các nhánh cục bộ không có nhánh từ xa có cùng tên:
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 )
Cách khác để có được một danh sách chỉ chi nhánh địa phương là:
git branch -a | grep -v 'remotes'
Có một câu trả lời tuyệt vời cho một bài viết về cách xóa các nhánh chỉ cục bộ. Trong đó, đồng bào xây dựng một lệnh để liệt kê ra các nhánh địa phương:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
Câu trả lời có một lời giải thích tuyệt vời về cách lệnh này được bắt nguồn, vì vậy tôi sẽ đề nghị bạn đi và đọc bài đăng đó.
Để bổ sung cho câu trả lời của @ gertvdijk - Tôi sẽ thêm một vài ảnh chụp màn hình trong trường hợp nó giúp ai đó nhanh chóng.
Trên vỏ git bash của tôi
chi nhánh git
lệnh không có bất kỳ tham số nào cho thấy tất cả các nhánh cục bộ của tôi. Nhánh hiện tại đang được kiểm tra được hiển thị bằng màu khác nhau (màu xanh lá cây) cùng với tiền tố dấu hoa thị (*) thực sự trực quan.
Khi bạn cố gắng xem tất cả các nhánh bao gồm các nhánh từ xa bằng cách sử dụng
chi nhánh git -a
lệnh sau đó các nhánh từ xa chưa được kiểm tra được hiển thị màu đỏ: