Có cách nào để GitHub gửi thông báo cam kết bao gồm cả diff không?


11

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.


Bạn có thể muốn truy cập vào github.com/github/github-service/issues/149 - các dịch vụ móc nối thậm chí không nhận được sự khác biệt
Alex Dupuy

Mặc dù vậy, đừng nín thở, github.com/github/github-service/issues/86 đã bị đóng cửa vào tháng Tư, vì vậy có vẻ như họ sẽ không làm gì với vấn đề 149.
Alex Dupuy

Câu hỏi này đã được trả lời (phần lớn là phủ định) tại stackoverflow.com/questions/4211107/iêu
Alex Dupuy

@Alex - Bạn có muốn đăng bình luận của mình dưới dạng câu trả lời để giúp chuyển câu hỏi này ra khỏi trang nhất của câu hỏi chưa được trả lời không?
Shannon Wagner

@ShannonWagner - được đăng. Tôi thậm chí đã nghĩ ra một cách để làm cho tất cả xảy ra, sử dụng tài nguyên cục bộ và các công cụ khác, nhưng các hướng dẫn chỉ là một phác thảo sơ bộ, và làm cho nó xảy ra sẽ không bao gồm kịch bản, lắp ráp và pin.
Alex Dupuy

Câu trả lời:


3

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.