Có ai biết một cách để có thông báo yêu cầu cam kết / kéo email GitHub bao gồm cả khác biệt đầy đủ của cam kết không?
Tôi biết về hook dịch vụ email, nhưng điều đó không gửi diff.
Có ai biết một cách để có thông báo yêu cầu cam kết / kéo email GitHub bao gồm cả khác biệt đầy đủ của cam kết không?
Tôi biết về hook dịch vụ email, nhưng điều đó không gửi diff.
Câu trả lời:
Tại thời điểm này, không có cách nào để làm những gì bạn muốn chỉ bằng GitHub. Như đã lưu ý trong /programming/4211107/how-to-get-email-diffs-for-github-pushes , không có hỗ trợ nào trong GitHub để gửi e-mail bao gồm cả khác biệt. Có hai vấn đề GitHub được nêu ra về vấn đề này - http://github.com/github/github-service/issues/86 (đã đóng) và http://github.com/github/github-service/issues/149 nhưng mặc dù Họ nói rằng đây là điều họ có thể thực hiện trong tương lai, không có dấu hiệu nào cho thấy điều này sẽ xảy ra.
Điều đó nói rằng, nếu bạn sẵn sàng chạy máy chủ web hoặc máy chủ email (cục bộ hoặc đám mây, nhưng có tập lệnh) với kho lưu trữ git, bạn có thể tự xây dựng điều này bằng cách sử dụng thông báo nhận sau GitHub ( http: //help.github .com / bài viết / bài nhận-móc) được gửi đến máy chủ web của bạn hoặc thông báo e-mail thông thường (không có khác biệt) được gửi đến một địa chỉ đặc biệt trên máy chủ email của bạn. Lựa chọn giữa thông báo web và e-mail sẽ được đưa ra tùy thuộc vào vị trí và cách bạn lưu trữ máy chủ của bạn - nếu bạn có kết nối tốt và độ tin cậy, thông báo web sẽ có độ trễ thấp nhất, nhưng nếu máy chủ web của bạn không thể truy cập được vì bất kỳ lý do nào, bạn sẽ không nhận được thông báo cho đến khi cam kết tiếp theo được thực hiện trong khi máy chủ web của bạn có thể truy cập được; sử dụng e-mail sẽ trì hoãn toàn bộ quá trình, nhưng có thể tốt hơn nếu bạn lưu trữ thư này ở nhà và đặc biệt đối với bất kỳ máy nào không phải lúc nào cũng bật.
Trong cả hai trường hợp, bạn sẽ phải viết một tập lệnh lấy thông báo (e-mail hoặc web / JSON) và kéo (các) repo có liên quan từ GitHub đến một kho lưu trữ cục bộ, nơi bạn sẽ phải thiết lập bài đăng nội bộ của Git- nhận cơ chế hook để chạy một cái gì đó như http://github.com/jtek/git-hook-update-notify-email (được đề cập trong bài viết stackoverflow ở trên) hoặc nếu bạn sẵn sàng & có thể cài đặt và sử dụng Pygments (mã Python colorizer) có lẽ một cái gì đó đẹp hơn trông giống như http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ (được liên kết đến / từ https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ ).
Đó là một chút công việc viết kịch bản và yêu cầu bạn có một số cơ sở hạ tầng lưu trữ để chạy máy chủ web hoặc e-mail, tập lệnh kéo cục bộ và sau đó là móc nhận bài cục bộ để tạo e-mail thực tế với các khác biệt, nhưng có thể thiết lập điều này trong vòng chưa đầy một ngày.