Làm cách nào để có thể nhận tất cả tên của một số nhánh gốc từ xa?Danh sách Git của tên chi nhánh của từ xa cụ thể
Tôi bắt đầu từ các tùy chọn --remote --list
nhưng nhận được thông báo origin/HEAD -> origin/master
thư và chi nhánh từ một nguồn gốc khác.
$> git branch --remote --list
origin/HEAD -> origin/master
origin1/develop
origin1/feature/1
origin1/feature/2
origin1/feature/3
origin1/master
origin2/develop
origin2/feature/1
origin2/feature/2
origin2/master
Chi nhánh của nguồn gốc cụ thể có thể được đối sánh với tùy chọn <pattern>
nhưng thông báo dư thừa vẫn còn đó. Trên thực tế mô hình đó không thực sự chính xác, bởi vì một số tên gốc có thể là một chuỗi con của một tên gốc khác hoặc thậm chí một số nhánh.
$> git branch --remote --list origin1*
origin1/HEAD -> origin/master
origin1/develop
origin1/feature/1
origin1/feature/2
origin1/feature/3
origin1/master
Tôi đang tìm kiếm cái gì là danh sách các tên chi nhánh của origin1
, ai trong số họ tôi có thể sử dụng cho git checkout
lệnh. Một cái gì đó như thế:
develop
feature/1
feature/2
feature/3
master
Điều quan trọng là nó phải được thực hiện mà không grep
, sed
, tail
hoặc thậm chí ghc -e
giấy gói, chỉ với đúng git
điện, vì biến mất an toàn và họ là.
Có vẻ tuyệt vời. Cảm ơn câu trả lời đầy đủ. –
Tôi cũng có thể trả lời câu hỏi này, nhưng điều gì sẽ xảy ra với quy tắc "no sed"? lol, bất cứ điều gì – KurzedMetal
@KurzedMetal đúng, nhưng tôi cẩn thận biện minh cho việc sử dụng 'sed' bằng cách chỉ sử dụng lệnh hệ thống ống nước, thay vì lệnh sứ như 'git branch'. Xem ví dụ http://stackoverflow.com/questions/2978947/how-to-list-all-the-log-for-current-project-in-git/2979124#2979124 hoặc http://stackoverflow.com/questions/2976665/git-changelog-day-by-day/2976776 # 2976776 – VonC