2016-08-30 19 views
10

Giả sử có một chi nhánh tính năng 'tính năng của tôi'. Trong khi tôi đang phát triển tính năng, ai đó đã hợp nhất nó từ 'tính năng của tôi' thành 'chủ'. Bởi vì đó là một sự hợp nhất nhanh chóng, không có cam kết nào được thực hiện. Một số thay đổi được thực hiện bởi tôi chưa sẵn sàng cho chủ nhân, và nó đã phá vỡ khá một vài bài kiểm tra khi nó được đẩy để làm chủ. Tuy nhiên, vì những thay đổi này rõ ràng là do tôi tạo ra, tôi bị đổ lỗi, không phải là người đã hợp nhất nhanh về phía trước (dù đó là ai).Git nhanh chóng chuyển tiếp hợp nhất: Bất kỳ cơ hội để tìm người đổ lỗi?

Có cơ hội nào để tìm ra ai đã hợp nhất 'tính năng của tôi' thành 'chính' mặc dù đó là hợp nhất nhanh không? Làm cách nào để ngăn điều này xảy ra trong tương lai?

git reflog dường như chỉ hiển thị những gì đang xảy ra cục bộ. Chúng tôi đang sử dụng một máy chủ gitlab, nhưng tôi đã không tìm thấy một cách để kiểm tra việc reflog của kho gitlab. Bất kỳ ý tưởng?

+0

Đây là một câu hỏi/vấn đề lớn, và tôi không biết câu trả lời. Tuy nhiên, đây có lẽ là một lý do tại sao nhiều nhà cung cấp như GitHub và Bitbucket buộc mọi yêu cầu hợp nhất thông qua quá trình xem xét mà họ quản lý. Nếu điều này xảy ra với GitHub hoặc Bitbucket, thủ phạm sẽ bị lộ ngay lập tức. –

+0

gitlab cũng có tính năng này, nhưng tôi nghi ngờ nhóm sẽ đồng ý với việc phải thông qua các yêu cầu hợp nhất mọi lúc. –

+0

GIT: Trình theo dõi của Gödel Inco {mplete, nsistent}. – Kaz

Trả lời

1

Cơ hội duy nhất tôi thấy là để cố gắng tìm một số manh mối trong gitlab-shell.log

Cách tiếp cận reflog sẽ có lẽ hầu hết không làm việc vì reflog không được kích hoạt mặc định cho kho trần. Bạn có thể bật tính năng này như được chỉ định here.


Edit: Nó sẽ không làm việc cho hòa trộn nhanh về phía trước, có ý nghĩa bởi vì một nhanh về phía trước hợp nhất không thay đổi cam kết đối tượng.

Bạn nên thử sử dụng git log --pretty=full.

Nó sẽ hiển thị các committer (người cam - không bạn) cũng như các Author (người viết thay đổi - bạn)

+0

Điều đó không thể đúng. Tác giả và Người chuyển nhượng giống nhau cho mỗi mục nhập trong nhật ký. Rõ ràng, chúng chỉ khác nhau nếu bạn nộp đơn xin lại bản vá, nhưng không phải với sự hợp nhất thông thường và chắc chắn không phải với các hợp nhất ff. –

+1

@digorydoo: đúng, vấn đề ở đây là bởi vì đây là một tiến nhanh (không phải là một sự hợp nhất trong bất kỳ ý nghĩa nào, thực sự: nó không thể vì không có công việc hợp nhất nào được thực hiện cũng như một cam kết hợp nhất được tạo ra) không có người dùng tên gắn liền với hoạt động.Nơi mà sẽ có một tên người dùng gắn liền với hoạt động là tệp nhật ký: cập nhật reflog, * if * có một reflog trên máy chủ và/hoặc tệp nhật ký máy chủ ssh hoặc http. – torek

+0

Tôi ssh'd đến máy chủ, nhưng git reflog không liệt kê bất cứ điều gì. Rõ ràng git reflog không hoạt động với các kho trống. –

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