github.comユーザーにメッセージを残す方法


376

GitHubの使用に関するヘルプが必要です。GitHubページでユーザー名/ IDのみが指定されている場合にgithub.comユーザーと通信する方法、つまりユーザーにメッセージを書き込む方法はあるのでしょうか。GitHubにはこのソーシャル機能がありますか?


6
質問への回答(現在はクローズされているため):課題を開いて、リポジトリの所有者が回答することを期待できます。
heltonbiker 2016年

1
Githubでユーザーに連絡する方法を参照してください、これはWebApps.SEのトピックです。
chharvey

私にとっては、SuperUserに対する質問のように見えます。
Dirk Horsten 2017

5
意識のプライバシー保護のためごとに示すから個人の電子メールを避けるために、任意のここでの回答の、GitHubのユーザーがに行くことができます設定- >電子メールとのためのボックスチェック私のメールアドレスは非公開に。次に、または使用して、ローカルのgitメールをGithubのプライベートメールアドレス(<username> @ users.noreply.github.com)に設定するgit config user.emailgit config --global user.email必要があります。それ以降のすべてのコミットには、プライベートの「noreply」メールのみが含まれます。個人用の電子メールセットを使用した以前のコミット/ローカルリポジトリコミットには、引き続きそれが表示されることに注意してください。
リーンリーン

回答:


361

GitHubはプライベートメッセージング機能を削除しましたが、代替手段はまだあります。

GitHubホストgitリポジトリ。通信したいユーザーがコードをコミットしたことがある場合は、目標を達成できる可能性が十分にあります。実際、各コミットには、変更の作成者または変更を承認した作成者に関する情報が格納されています。

ユーザーuser_testとのやり取りに本当に夢中になっている場合

  • ユーザーのパブリックアクティビティページを表示します:https : //github.com/user_test?tab= activity
  • 「user_test pushed to [branch] at [repository]」というイベントを検索します。通常、良い可能性があります。彼らは彼自身のコミットの1つをプッシュした可能性があります。[比較を表示...]リンクをクリックしてこれが事実であることを確認し、ユーザーがコミッターの1人としてリストされていることを確認します。
  • ローカルマシンで、プッシュ先のリポジトリのクローンを作成します。 git clone https://github.com/..../repository.git
  • 彼らがプッシュしたブランチをチェックアウトします: git checkout [branch]
  • 最新のコミットを表示します。 git log -50

コミッター/作成者は、コミットデータとともにメールを表示する必要があります。

注:迷惑メールに関連するすべての警告がそこで適用されます。スパムしないでください。


11
ユーザーは何も活動していませんか?つまり、単にアカウントを作成し、再度ログインすることはありませんか?
ホセイン2014

6
うわー!なぜgithubユーザーのプロフィールページのメールアドレスを使用しないのですか?
mavili 2014年

24
@mavili入力されていない可能性があるため。質問を参照してください->「ユーザー名/ IDのみがgithubページで指定されている場合」
nulltoken 2014年

5
@nulltoken私は涙目であなたの答えを読みました。この夢が叶うなんて信じられない。タンク兄弟ありがとう......
2015

3
username@users.noreply.github.com誰かが本当に自分の電子メールアドレスを非公開にしたい場合に備えて、アドレスを取得する可能性があります。
tigrou 2015

237

この方法は2020年3月の時点で機能していた

  1. 次の行をコピーしてブラウザーに貼り付けます(ブックマークしてください):https : //api.github.com/users/xxxxxxx/events/public
  2. メールを送信するGitHubユーザー名を見つけます。URLのxxxxxxxをユーザーのGitHubユーザー名に置き換えます。Enterキーを押します。
  3. Ctrl + Fを押して、「メール」を検索します。

qbolecで提案されているように、上記の手順は次のスニペットを使用して実行できます。

<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>

出典:Matthew Ferree @ Sourcecon


7
私の場合、電子メールは含まれていません
TheKitMurkit 2017

7
この方法では、ユーザーが何らかのパブリックアクティビティを持っている必要があります
オビノファイル2017

5
おっと、この答えはスパマーにとっての宝物です...「githubのユーザーのメールアドレスを見つける方法」
Alex

7
このAPIのメールアドレスは、ユーザーのローカルgitセットアップからのものであり、Githubで設定したものではありません。Githubは最近、[設定/メール]の下に、ユーザーが「プライベート」とマークしたメールアドレスを誤って含むコミットをブロックするオプションを追加しました。そして、はい、APIで公開されたコンテンツは公開リポジトリにのみ適用されます。プライベートリポジトリデータは表示されません。
17

2
@pbhj誰かがgithubに言ったと思います。これはプライバシー漏洩です。
Gewure

52

私のような怠惰な人々のために、ニキルのソリューションに基づくスニペット

<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
検索したユーザーが別のユーザーのPRをマージした場合、これは誤ったヒットになります。この場合、commitsPRの作成者とマージ(PRをマージしたユーザー)の両方を持つ配列になります。
スタイル

50

ダミーのリポジトリを作成し、新しい問題を開いて、@ xxxxxを使用して影響を受けるユーザーに通知するだけです。

電子メールによる通知が有効になっている場合、ユーザーは電子メールを受け取ります。そうでない場合は、次回のログイン時に通知されます。

コミットまたはアクティビティストリームで電子メールアドレスを検索する必要がなく、プライバシーが尊重されます。


投票数の多い回答である必要があります。シンプルで要点があり、あなたが言ったようにプライバシーを尊重します。ty。
JoelAZ

1
そして、アカウントにアクティビティがない場合、それを行う唯一の方法は私が見つけることができます。
Dave Strickler、

33

Githubは2012年4月3日に言った:

今日は2つの機能を削除します。彼らはしばらくの間ほこりを集めてきました、そしてそれらを捨てる時が来ました:Fork Queue&Private Messaging

ソース


2
この答えは時代遅れです。更新された回答については以下をご覧ください。
Nikhil、2017

22

ここに別の方法があります:

  • 誰かのコミット履歴を閲覧(commitsブランチの横にあるクリックして、コミット履歴全体を表示)

  • それらの非常に多くがあるかもしれないので、その人のユーザー名でコミットをクリックしてください

  • 次に、WebアドレスにハッシュがURLに連結されているのがわかります。.patchこのコミットURLに追加

  • あなたはしますおそらく、そこに人のメールアドレスを参照してください

例: https://github.com/[username]/[reponame]/commit/[hash].patch

出典:Chris Herron @ Sourcecon


6
個人のメールがこのように表示されないようにするには、Githubユーザーが[設定]> [メール]に移動し、[ メールアドレスを非公開にする]チェックボックスをオンにします。次に、または使用して、ローカルのgitメールをGithubのプライベートメールアドレス(<username> @ users.noreply.github.com)に設定するgit config user.emailgit config --global user.email必要があります。それ以降のすべてのコミットには、プライベートの「noreply」メールのみが含まれます。個人用メールセットを使用した以前のコミットまたはローカルリポジトリコミットには、実際のメールアドレスが含まれていることに注意してください。
17

3
まだ動作します、ありがとう。スパマーがその機能を悪用しないことを願っています。
デニスゴレリック

5

githubメッセージングサービスの削除に加えて、多くのギタバーがtwitterと通信したり、twitterを支持したりするため、使用はしばしば不要でした。

利点があるということです。

  • 完全な透明性
  • より良いカバレッジ
  • ツイートの検索機能の向上
  • たとえば米国議会図書館によるアーカイブの改善

完全な透明性を確保するために、stackoverflowでもプライベートメッセージングが許可されていないのはおそらく偶然ではありません。メッセージングの問題全体については、こちらの meta-stackoverflow 詳しく説明しています


8
わかりました、それらに公にメッセージを送る方法はどうですか?たとえば、あることを行う方法について質問したいのですが、提供されているドキュメントはひどいものです。彼らが私だけでなく、自分のコードを使用しようとする人に応答することは彼らにとって役立つでしょう。
マイケル

10
彼/彼女のプロジェクトについて何か質問/報告したい場合は、単にgithubで「問題」を開いて議論してください
Alex

8
しかし、それは悲しい状況です。私にとって、Twitterは優れたプラットフォームではありません。
Xupicor

9
Twitterは140文字の制限があるため、実際のコミュニケーションには適していません。
My1 2016年

6
彼らのプロフィールページにTwitterがリストされていない場合、これは本当に役に立ちません。
Igor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.