2012-02-20 12 views
5

Tôi có một kho git cho một dự án tại nơi làm việc. Mỗi lần chúng tôi phát hành phiên bản phần mềm của mình, chúng tôi tạo một nhánh phát hành cho nó. Có một nhánh release1.0, nhánh 1.1 phát hành, v.v. Khi chúng ta cần tạo hotfix cho bản phát hành đó, chúng ta cam kết sửa chữa nhánh phát hành đó, và sau đó chúng ta hợp nhất nó vào nhánh phát triển chính của chúng ta.Làm cách nào để xác minh rằng các bản sửa lỗi của một bản phát hành của dự án git đã được hợp nhất thành chính?

Thỉnh thoảng chúng ta quên bước cuối cùng trong việc vội vàng khắc phục lỗi sản xuất và sau đó một bản phát hành mới sẽ biến mất mà không có hotfix cho sự cố trước đó của chúng tôi.

Có lệnh lệnh git dễ dàng kiểm tra xem tất cả các nhánh phát hành của chúng tôi đã được hợp nhất thành chính chưa, và nếu không, cam kết trong nhánh nào?

Trả lời

5

Bạn có thể thử git branch --no-merged master. Điều này sẽ liệt kê tất cả các chi nhánh chưa được hợp nhất thành master.

Cách tiếp cận khác là nhập git log master..branch, sẽ hiển thị kết quả trống nếu chi nhánh được hợp nhất thành chính và sẽ hiển thị danh sách các cam kết chưa được kết hợp.

+0

Oooo, điều đó rất hữu ích! Có cách nào để yêu cầu danh sách các cam kết cụ thể chưa được hợp nhất không? –

+0

Nếu bạn muốn danh sách các cam kết trong nhánh 'other' chưa được hợp nhất thành' master', điều đơn giản nhất là 'git log master..other'. –

+0

Vâng, chờ đã, điều đó làm cho việc này trở nên dễ dàng hơn! Nếu git log origin/master..origin/releaseX là trống, thì nó được hợp nhất. Nếu không thì đó là danh sách các cam kết còn thiếu, đúng không? –

Các vấn đề liên quan