Tôi hiện đang bận rộn với một dự án có rất nhiều chi nhánh và tôi có một thẻ cho những thay đổi cuối cùng được thực hiện trên một trong các chi nhánh. Nhưng tôi không rõ thẻ này nằm ở nhánh nào.
Làm cách nào để biết thẻ nằm trên nhánh nào?
Tôi hiện đang bận rộn với một dự án có rất nhiều chi nhánh và tôi có một thẻ cho những thay đổi cuối cùng được thực hiện trên một trong các chi nhánh. Nhưng tôi không rõ thẻ này nằm ở nhánh nào.
Làm cách nào để biết thẻ nằm trên nhánh nào?
Câu trả lời:
Thậm chí ngắn hơn:
git branch --contains tags/<tag>
(nó hoạt động cho bất kỳ tài liệu tham khảo cây-ish nào)
Nếu bạn có thể tìm thấy thẻ cam kết nào đề cập đến :
git rev-parse --verify tags/<tag>^{commit}
# or, shorter:
git rev-parse tags/<tag>~0
Sau đó, bạn có thể tìm thấy nhánh nào chứa cam kết đó .
git branch --contains <commit>
Như nhận xét bên dưới của người dùng3356885 , đối với các nhánh được tìm nạp (các nhánh trong không gian tên điều khiển từ xa)
git branch -a --contains tags/<tag>
git branch -a --contains <commit>
git branch -a --contains <tag>
. Tương tự sẽ làm việc cho các cam kết.
git branch --no-merge tags/<a-tag>
git branch --contains tag
không làm gì cho tôi, nhưng tôi đã tìm thấy giải pháp của mình cho vấn đề này trong git gui .
Bắt đầu nó như thế này:
git gui
(Trên Ubuntu của tôi, tôi phải cài đặt nó trước sudo apt-get install git-gui
.)
Sau đó, tôi chọn mục menu Kho -> Trực quan hóa Tất cả Lịch sử Chi nhánh . Trong cửa sổ hiện ra, tôi chọn mục menu Tệp -> Tham chiếu danh sách .
Một cửa sổ khác hiện lên, liệt kê tất cả các thẻ của tôi (và các tài liệu tham khảo khác). Chúng có thể nhấp được và sau khi nhấp vào một trong số chúng, tôi chỉ cần kiểm tra khung dưới cùng bên trái để biết danh sách các chi nhánh. Như thế này:
Parent: somesha (message)
Parent: someothersha (another message)
Child: anothersha (yet another message)
Branches: branch1, master, remotes/origin/branch2, remotes/upstream/branch1, etc
Follows: v1.1.2
Precedes: v1.1.4
Với một Thẻ bạn đánh dấu một tham chiếu. Vì vậy, khi bạn đang ở trên một nhánh nhà phát triển và Gắn thẻ trạng thái này. Thẻ của bạn là tham chiếu thực tế. Vì vậy, trong trường hợp này, bạn có thể tìm đến gitk hoặc một công cụ khác nơi cây được hiển thị. Ở đó, bạn có thể xem Thẻ tham chiếu nào.
git: Có cái gì đó giống như thẻ mỗi nhánh không?
http://git-scm.com/book/en/Git-Basics-Tagging
Đây là một lời giải thích tốt.
git branch --contains <tag>
.