Cách để lại tin nhắn cho người dùng github.com


376

Cần giúp đỡ về việc sử dụng GitHub. Tôi tự hỏi liệu có cách nào để giao tiếp với người dùng github.com tức là viết cho người dùng một tin nhắn khi chỉ có tên người dùng / id trên trang GitHub của họ không? GitHub có tính năng xã hội này không?


6
Trả lời câu hỏi (vì hiện đã đóng cửa): bạn có thể mở Vấn đề và hy vọng chủ sở hữu repo trả lời bạn.
heltonbiker 30/03/2016


Trông giống như một câu hỏi cho SuperUser đối với tôi.
Dirk Horsten

5
Để đảm bảo quyền riêng tư : Để tránh email cá nhân hiển thị theo bất kỳ câu trả lời nào tại đây , người dùng Github có thể truy cập Cài đặt-> Email và đánh dấu vào ô để Giữ địa chỉ email của tôi ở chế độ riêng tư . Sau đó, họ phải sử dụng git config user.emailhoặc git config --global user.emailđể đặt email git cục bộ của mình thành địa chỉ email riêng của Github (<tên người dùng> @ users.noreply.github.com) Tất cả các cam kết của họ - từ đó trở đi - sẽ chỉ bao gồm email "noreply" riêng tư. Lưu ý rằng mọi cam kết trước đó / repo cục bộ cam kết với bộ email cá nhân sẽ vẫn hiển thị.
leanne

Câu trả lời:


361

Mặc dù GitHub đã loại bỏ tính năng nhắn tin riêng tư, nhưng vẫn có một giải pháp thay thế.

GitHub lưu trữ git lưu trữ. Nếu người dùng mà bạn sẵn sàng liên lạc đã từng cam kết một số mã, có nhiều khả năng bạn có thể đạt được mục tiêu của mình. Thật vậy, trong mỗi cam kết được lưu trữ một số thông tin về tác giả của sự thay đổi hoặc người đã chấp nhận nó.

Miễn là bạn thực sự muốn trao đổi với user_test

  • Hiển thị trang hoạt động công khai của người dùng: https://github.com/user_test?tab=activity
  • Tìm kiếm một sự kiện cho biết "user_test được đẩy tới [nhánh] tại [repository]" . Thường có những cơ hội tốt, họ có thể đã thúc đẩy một trong những cam kết của chính mình. Đảm bảo đây là trường hợp bằng cách nhấp vào liên kết "Xem so sánh ..." và đảm bảo người dùng được liệt kê là một trong những người ủy quyền.
  • Sao chép trên máy cục bộ của bạn kho lưu trữ mà họ đã đẩy tới: git clone https://github.com/..../repository.git
  • Kiểm tra chi nhánh họ đẩy đến: git checkout [branch]
  • Hiển thị các cam kết mới nhất: git log -50

Là một người viết / tác giả, một email nên được hiển thị cùng với dữ liệu cam kết.

Lưu ý: Mọi cảnh báo liên quan đến email không mong muốn nên được áp dụng ở đó. Do không thư rác.


11
Người dùng không có hoạt động là gì? Ý tôi là, chỉ cần tạo một tài khoản và không bao giờ đăng nhập lại?
Hossein

6
ồ Tại sao không sử dụng địa chỉ email trên trang hồ sơ của người dùng github?!
mavili

24
@mavili Vì có thể không đầy. Xem câu hỏi -> "khi chỉ tên người dùng / id được đưa ra trên trang github?"
nulltoken

5
@nulltoken Tôi đọc câu trả lời của bạn với đôi mắt đẫm lệ. Tôi không thể tin giấc mơ này trở thành sự thật. anh em xe tăng cảm ơn ......
Esterlinkof

3
Có thể bạn sẽ nhận được một username@users.noreply.github.comđịa chỉ, trong trường hợp ai đó thực sự muốn giữ kín địa chỉ email của mình.
tigrou

237

Phương pháp này đã hoạt động vào tháng 3 năm 2020

  1. Sao chép và dán dòng tiếp theo vào trình duyệt của bạn (vui lòng đánh dấu nó): https://api.github.com/users/xxxxxxx/events/public
  2. Tìm tên người dùng GitHub mà bạn muốn email. Thay thế xxxxxxx trong URL bằng tên người dùng GitHub của người đó. Nhấn Enter.
  3. Nhấn Ctrl + F và tìm kiếm email Email.

Theo đề xuất của qbolec , các bước trên có thể được thực hiện bằng cách sử dụng đoạn mã này:

<input id=username type="text" placeholder="github username or repo link">
<button onclick="fetch(`https://api.github.com/users/${username.value.replace(/^.*com[/]([^/]*).*$/,'$1')}/events/public`).then(e=> e.json()).then(e => [...new Set([].concat.apply([],e.filter(x => x.type==='PushEvent').map(x => x.payload.commits.map(c => c.author.email)))).values()]).then(x => results.innerText = x)">GO</button>
<div id=results></div>

Nguồn: Matthew Ferree @ Sourcecon


7
Trong trường hợp của tôi, nó không chứa Email
TheKitMurkit 11/07/2017

7
Phương pháp này yêu cầu người dùng có một số hoạt động công khai
ovinophile 26/07/17

5
Whoa, câu trả lời này chỉ là một kho báu cho những kẻ gửi thư rác ... "Cách tìm bất kỳ địa chỉ email người dùng nào của github"
Alex

7
Địa chỉ email trong api này đến từ thiết lập git cục bộ của người dùng, không phải địa chỉ họ đã đặt trong Github. Github vừa mới thêm một tùy chọn, trong Cài đặt / Email, để chặn các xác nhận vô tình bao gồm địa chỉ email mà người dùng đã đánh dấu là 'riêng tư'. Và, vâng, nội dung tiết lộ api chỉ áp dụng cho các repos công khai; dữ liệu repo riêng sẽ không hiển thị.
leanne

2
@pbhj ai đó shoul nói với github, có lẽ. đây là một sự rò rỉ riêng tư
Gewure

52

Đối với những người lười biếng, như tôi, một đoạn dựa trên giải pháp của Nikhil

<input id=username type="text" placeholder="github username or repo link">
<button onclick="fetch(`https://api.github.com/users/${username.value.replace(/^.*com[/]([^/]*).*$/,'$1')}/events/public`).then(e=> e.json()).then(e => [...new Set([].concat.apply([],e.filter(x => x.type==='PushEvent').map(x => x.payload.commits.map(c => c.author.email)))).values()]).then(x => results.innerText = x)">GO</button>
<div id=results></div>


1
Điều này sẽ cung cấp lượt truy cập sai nếu người dùng bạn tìm kiếm đã hợp nhất PR từ người dùng khác. Trong trường hợp này, commitssẽ là một mảng với cả tác giả của PR và sáp nhập (người dùng đã hợp nhất PR).
styfle

50

Đơn giản chỉ cần thử lại một repo giả, mở một vấn đề mới và sử dụng @xxxxx để thông báo cho người dùng bị ảnh hưởng.

Nếu người dùng có thông báo qua e-mail, anh ta sẽ nhận được e-mail, nếu không anh ta sẽ thông báo vào lần đăng nhập tiếp theo.

Không cần phải tìm kiếm địa chỉ e-mail trong các cam kết hoặc luồng hoạt động và quyền riêng tư được tôn trọng.


nên là một câu trả lời bình chọn cao hơn. Đơn giản và quan trọng và, như bạn đã nói, tôn trọng sự riêng tư. ty.
JoelAZ

1
Và nếu tài khoản không có bất kỳ hoạt động nào trên đó, tôi chỉ có thể tìm thấy cách duy nhất để làm điều đó.
Dave Strickler

33

Github cho biết vào ngày 3 tháng 4 năm 2012:

Hôm nay chúng tôi sẽ loại bỏ hai tính năng. Họ đã thu thập bụi trong một thời gian và đã đến lúc vứt bỏ chúng: Fork Queue & Tin nhắn cá nhân

Nguồn


2
Câu trả lời này đã lỗi thời. Nhìn bên dưới để cập nhật câu trả lời.
Nikhil

22

Đây là một cách khác:

  • Duyệt lịch sử cam kết của ai đó (Nhấp vào commitsbên cạnh chi nhánh để xem toàn bộ lịch sử cam kết)

  • Nhấp vào cam kết với tên người dùng vì có thể có rất nhiều người trong số họ

  • Sau đó, bạn sẽ thấy địa chỉ web có hàm băm được nối với URL. Thêm vào .patchURL cam kết này

  • Bạn có thể sẽ thấy địa chỉ email của người đó ở đó

Thí dụ: https://github.com/[username]/[reponame]/commit/[hash].patch

Nguồn: Chris Herron @ Sourcecon


6
Để tránh email cá nhân hiển thị theo cách này, người dùng Github có thể truy cập Cài đặt-> Email và chọn hộp để Giữ địa chỉ email của tôi ở chế độ riêng tư . Sau đó, họ phải sử dụng git config user.emailhoặc git config --global user.emailđể đặt email git cục bộ của mình thành địa chỉ email riêng của Github (<tên người dùng> @ users.noreply.github.com) Tất cả các cam kết của họ - từ đó trở đi - sẽ chỉ bao gồm email "noreply" riêng tư. Lưu ý rằng mọi cam kết trước đó hoặc repo cục bộ cam kết với bộ email cá nhân sẽ vẫn chứa địa chỉ email thực.
leanne

3
Nó vẫn hoạt động, cảm ơn. Tôi hy vọng, những kẻ gửi thư rác sẽ không lạm dụng tính năng đó.
Dennis Gorelik

5

Bên cạnh việc loại bỏ dịch vụ nhắn tin github , việc sử dụng thường không cần thiết do nhiều githubbers liên lạc với - và ủng hộ twitter .

Các lợi thế là có:

  • minh bạch đầy đủ
  • bảo hiểm tốt hơn
  • tính năng tìm kiếm tốt hơn cho các tweet
  • lưu trữ tốt hơn, ví dụ như Thư viện Quốc hội Hoa Kỳ

Có lẽ không phải ngẫu nhiên mà stackoverflow cũng không cho phép nhắn tin riêng tư, để đảm bảo tính minh bạch hoàn toàn. Toàn bộ vấn đề nhắn tin được thảo luận kỹ lưỡng về meta-stackoverflow tại đây .


8
Ok, còn cách nào để nhắn tin công khai cho họ? Chẳng hạn, tôi muốn hỏi một câu hỏi về cách làm một việc nhất định và tài liệu được cung cấp là rất tàn bạo. Nó sẽ hữu ích cho họ để trả lời không chỉ cho tôi, mà bất kỳ ai đang cố gắng sử dụng mã của họ.
Michael

10
Nếu bạn muốn đặt câu hỏi / báo cáo điều gì đó về dự án của anh ấy / cô ấy - chỉ cần mở một "vấn đề" trong github và thảo luận
Alex

8
Đó là một tình trạng đáng buồn mặc dù. Đối với tôi, Twitter là bất cứ thứ gì ngoại trừ một nền tảng tốt.
Xupicor

9
twitter là xấu cho giao tiếp thực sự vì giới hạn 140 char.
My1

6
Điều này không thực sự hữu ích nếu không có twitter được liệt kê trên trang hồ sơ của họ.
Igor
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.