Tôi có nhiều chi nhánh và đã phát hiện ra một cam kết A đã giới thiệu một lỗi trong hệ thống. Điều này sau đó đã được cố định bởi cam kết B trên một trong các chi nhánh và sáp nhập trở lại để làm chủ, nhưng tại thời điểm nó không phải là anh đào chọn cho tất cả các chi nhánh vi phạm.Hiển thị tất cả các nhánh cam kết A đang bật và cam kết B không bật?
Tôi đã tự hỏi nếu có một lệnh sẽ hiển thị tất cả các chi nhánh vi phạm có cam kết A nhưng không có cam kết B?
Tôi đã được sử dụng sau đây để xác định rằng một cam kết tồn tại trên một chi nhánh
$ git branch -r --contains=A
nhưng tôi muốn thử và thêm vào điều này để bao gồm một cái gì đó giống như
$ git branch -r --contains=A ^--contains=B
Như một mặt lưu ý Tôi đã kiểm tra và không có cam kết nào khác có cùng sự thay đổi, tức là nó không được anh đào chọn cho bất kỳ nhánh nào khác, nhưng một số nhánh đã cam kết B, nơi chúng đã tách ra khỏi master từ khi hợp nhất và một số không ở đâu chúng đã tồn tại trước khi commit B là intr . Ngoài ra, khả năng kiểm tra một số cam kết sẽ hữu ích khi cam kết đã khắc phục được vấn đề (cam kết B trong trường hợp này) được chọn vào một số nhánh đã đưa ra các cam kết SHA khác nhau.
Xin chào, Có vẻ như nó có thể rất gần, như bạn nói nó không hoàn hảo. Bạn có thể cung cấp một số chi tiết như những gì sau đây khác 'diff <() <()' – Cellze
Liên kết này giải thích những gì 'diff <() <()' hiện: http://crashingdaily.wordpress.com/2008/03/ 06/diff-two-stdout-stream/Nó chỉ có thể hoạt động với BASH. –
Lệnh 'comm' (tức là' comm -23') sẽ hữu ích cho những gì bạn đang làm. – antak