Cho một dự án với một số nhánh địa phương, mỗi nhánh theo dõi một số nhánh từ xa, có lệnh liệt kê tất cả các nhánh có cam kết chưa được xóa không? (Đó là, ngay cả khi không có chi nhánh nào trong số đó được kiểm tra.)Trong Git, liệt kê tên của các nhánh với các cam kết chưa được rửa
Tôi không muốn tự mình thấy chính mình, cũng không muốn thấy các chi nhánh được cập nhật, tôi chỉ muốn xem mà các chi nhánh đang đi trước điều khiển từ xa của họ.
Tôi đã thử git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
, nhưng dường như không hiển thị những gì tôi cần. Chạy nó trên repo hiện tại của tôi đưa ra không có đầu ra, nhưng chạy git status
trên chi nhánh hiện tại của tôi cho thấy Your branch is ahead of 'origin/branchname' by 2 commits.
git for-each-ref --format="%(refname:short) %(push:track)" refs/heads
và git branch -v
cả chương trình chi nhánh đó được cập nhật cũng như những người mà cần đẩy. Tuy nhiên, chúng do cả hai hiển thị chi nhánh hiện tại của tôi là [ahead 2]
.
Các lệnh khác mà tôi đã tìm thấy, ví dụ: git log @{u}..
, git cherry -v
liệt kê các cam kết, chứ không phải các chi nhánh.
Câu hỏi phụ: tại sao đầu ra từ git log --branches --not --remotes --simplify-by-decoration --decorate --oneline
không bao gồm các chi nhánh git branch -v
hiển thị như trước? Không phải là lệnh cũ chỉ nhìn vào đó refs/heads
không tương ứng với một điều khiển từ xa đã biết; do đó, không phải chi nhánh nào được liệt kê là [ahead 2]
đáp ứng tiêu chí này?
Có thể trùng lặp của [Hiển thị git trước và sau thông tin cho tất cả các chi nhánh, bao gồm cả điều khiển từ xa] (http://stackoverflow.com/questions/7773939/show-git-ahead-and-behind-info-for-all-branches- bao gồm cả điều khiển từ xa) –
@TimBiegeleisen Thú vị, nhưng câu trả lời được chấp nhận là tập lệnh Bash (tôi sử dụng Linux/OSX/Windows) và câu trả lời khác cho đầu ra gần như trống. – detly
@TimBiegeleisen Được rồi, tôi đã xác định được sự cố và đây thực sự là một bản sao. – detly