Як залишити повідомлення користувачеві github.com


376

Потрібна допомога щодо використання GitHub. Цікаво, чи існує спосіб спілкування з користувачем github.com, тобто написати користувачеві повідомлення, коли на його сторінці GitHub вказано лише ім’я користувача / ідентифікатор? Чи має GitHub цю соціальну особливість?


6
Відповідаючи на питання (оскільки він закритий): ви можете відкрити випуск та сподіватися, що власник репо відповість вам.
heltonbiker


Схоже, це питання для SuperUser до мене.
Дірк Хорстен

5
Для безпеки конфіденційності . Щоб уникнути показу особистого електронного листа на будь-яку з відповідей тут , користувачі Github можуть перейти в Налаштування-> Електронна пошта та встановити прапорець Утримувати приватну адресу електронної пошти . Потім вони повинні використовувати git config user.emailабо git config --global user.emailвстановити їх локальний GIT електронну пошту на Github приватний адресу електронної пошти (<ім'я користувача> @ users.noreply.github.com) Всі їх фіксацій - зпір - включатимесебе тільки приватний «noreply»електронній пошті. Зауважте, що будь-які попередні зобов’язання / місцеві репо-зобов’язання з набором особистої електронної пошти все одно показуватимуть це.
leanne

Відповіді:


361

Хоча GitHub видалив функцію приватного обміну повідомленнями, є альтернатива.

GitHub сховища git git. Якщо користувач, з яким ви готові спілкуватися, коли-небудь вчинив якийсь код, є великі шанси, що ви можете досягти своєї мети. Дійсно, в межах кожного комітету зберігається певна інформація про автора зміни або того, хто її прийняв.

За умови, що ви дійсно вмираєте для обміну з користувачем user_test

  • Відобразити сторінку публічної активності користувача: https://github.com/user_test?tab=activity
  • Шукайте подію із зазначенням "user_test, натиснутого на [гілку] у [сховищі]" . Зазвичай є хороші шанси, вони, можливо, підштовхнули один із його власних зобов'язань. Переконайтеся, що це так, натиснувши на посилання "Переглянути порівняння ..." та переконайтеся, що користувач вказаний як один із виконавців.
  • Клоніруйте на вашій локальній машині сховище, до якого вони натиснули: git clone https://github.com/..../repository.git
  • Оформити відділення, до якого вони підштовхнули: git checkout [branch]
  • Відобразити останні зобов’язання: git log -50

Як виконавця / автора, електронний лист повинен відображатися разом із даними про здійснення.

Примітка. Кожне попередження, пов’язане з непотрібною електронною поштою, має застосовуватися саме там. Є НЕ спам.


11
Який користувач не має активності? Я маю на увазі, просто створив обліковий запис і більше ніколи не входив?
Hossein

6
Оце Так! чому б просто не використовувати адресу електронної пошти на сторінці профілю користувача github ?!
mavili

24
@mavili Тому що він може бути заповнений. Дивіться питання -> "коли на сторінці github вказано лише ім'я користувача / id?"
nulltoken

5
@nulltoken Я читаю твою відповідь плаксивими очима. Я не можу повірити, що ця мрія стала реальною. танки, брат дякую ......
Естерлінкоф

3
Ймовірно, ви отримаєте username@users.noreply.github.comадресу, якщо хтось дійсно захоче зберегти свою адресу електронної пошти приватною.
tigrou

237

Цей метод працював станом на березень 2020 року

  1. Скопіюйте та вставте наступний рядок у свій веб-переглядач (не соромтеся робити це за допомогою закладок): https://api.github.com/users/xxxxxxx/events/public
  2. Знайдіть ім’я користувача GitHub, для якого потрібно електронну пошту. Замініть xxxxxxx в URL-адресі на ім’я користувача 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>

Джерело: Меттью Феррі @ Sourcecon


7
У моєму випадку він не містить електронної пошти
TheKitMurkit

7
Цей метод вимагає, щоб користувач мав деяку публічну активність
ovinophile

5
О, ця відповідь - просто скарб для спамерів ... "Як знайти будь-яку адресу електронної пошти користувача github"
Alex

7
Адреса електронної пошти в цій програмі походить від локальних налаштувань git користувача, а не з тих, які вони встановили в Github. Щойно Github додав опцію в розділі Налаштування / Електронна пошта, щоб заблокувати комісії, які випадково містять електронну адресу, яку користувач позначив як "приватну". І так, вміст, розкритий api, застосовний лише до публічних репост; Дані приватного репо не відображатимуться
leanne

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 з іншого користувача. У цьому випадку commitsбуде масив як з автором PR, так і злиттям (користувачем, який об'єднав PR).
styfle

50

Просто створіть фіктивне репо, відкрийте нову проблему та використовуйте @xxxxx, щоб повідомити про це.

Якщо користувач отримав сповіщення електронною поштою, він отримає електронну пошту, якщо ні, він помітить при наступному вході.

Не потрібно шукати адресу електронної пошти в комісіях чи потоці діяльності та конфіденційність.


має бути вищою відповіді. Просте і до речі, і, як ви вже сказали, поважає конфіденційність. ти.
JoelAZ

1
І якщо в обліковому записі немає жодної активності, я можу знайти єдиний спосіб зробити це.
Дейв Стріклер

33

Github сказав 3 квітня 2012 року:

Сьогодні ми видаляємо дві функції. Вони деякий час збирали пил, і настав час їх викинути: Fork Queue & Private Messaging

Джерело


2
Ця відповідь застаріла. Подивіться оновлені відповіді нижче.
Nikhil

22

Ось ще один спосіб:

  • Перегляньте чиюсь історію комісій (натисніть commitsпоруч із гілкою, щоб побачити всю історію фіксації)

  • Клацніть на зобов’язання з ім’ям користувача, оскільки їх може бути так багато

  • Тоді ви побачите, що веб-адреса має хеш, приєднаний до URL-адреси. Додайте .patchдо цієї URL-адреси комісії

  • Ви , ймовірно , побачити адресу електронної пошти людини є

Приклад: https://github.com/[username]/[reponame]/commit/[hash].patch

Джерело: Chris Herron @ Sourcecon


6
Щоб особистий електронний лист не відображався таким чином, користувачі Github можуть перейти в Налаштування-> Електронна пошта та встановити прапорець Утримувати приватну адресу електронної пошти . Потім вони повинні використовувати git config user.emailабо git config --global user.emailвстановити їх локальний GIT електронну пошту на Github приватний адресу електронної пошти (<ім'я користувача> @ users.noreply.github.com) Всі їх фіксацій - з тих пір - включатиме в себе тільки приватний «noreply» по електронній пошті. Зауважте, що будь-які попередні зобов’язання або місцеві репо-зобов’язання з персональним набором електронної пошти все ще будуть містити реальну адресу електронної пошти.
leanne

3
Це все ще працює, дякую. Сподіваюся, спамери не зловживають цією функцією.
Денніс Горелік

5

Окрім видалення служби передачі повідомлень github , використання часто не було необхідним через те, що багато комунікаторів спілкувались із та захищати щебет .

Перевагою є те , що є:

  • повна прозорість
  • краще покриття
  • кращі функції пошуку твітів
  • краще архівування, наприклад, Бібліотека Конгресу США

Напевно, не випадково, що stackoverflow також не дозволяє приватним повідомленням, щоб забезпечити повну прозорість. Вся проблема обміну повідомленнями детально обговорюється на мета-StackOverflow тут .


8
Гаразд, що з будь-яким способом публічно повідомляти про них? Наприклад, я хочу задати питання про те, як зробити певну річ, і надана документація є жорстокою. Їм було б корисно відповісти не просто на мене, а на будь-кого, хто намагається використовувати їх код.
Майкл

10
Якщо ви хочете задати питання / повідомити щось про його / її проект - просто відкрийте "питання" в github та обговоріть
Alex Alex

8
Хоча це сумний стан справ. Для мене Twitter - це не що інше, як хороша платформа.
Xupicor

9
twitter поганий для реального спілкування, оскільки ліміт 140 char.
My1

6
Це не дуже допомагає, якщо на їхній сторінці профілю немає щебетання.
Ігор
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.