Комісії GitHub не реєструються в календарі "Ваші внески"


94

Я робив безперервні коміти для своїх GitHubрепозиторіїв з моєї оболонки Linux, і вони прекрасно відображаються на веб-сайті, як слід. Єдина проблема полягає в тому, що розділ "Ваші внески" не відображає жодної недавньої активності. У мене є один зелений квадрат з якою - то день в листопаді , які я не знаю , як у мене , але всі інші вклади не показувати в календарі (але знову ж , вони дійсно показують в їх операції РЕПО.
Що я тут відсутній?

Мій сайт github


1
Чи зобов'язуєтесь ви до приватного репо?
madhead

ні, всі мої репозиторії є загальнодоступними
Roey Angel

2
Це питання краще для веб-програм (оскільки мова йде не про кодування, а про те, як працює інтерфейс / облікові записи), або безпосередньо до GitHub: Підтримка
випадковий

Власне, @harsh дав найкращу відповідь
Алі Сабері

Відповіді:


47

Це проблема Github, де іноді їх механізми оновлення не працюють, і це перетворюється на "застарілий кеш". Це не є нічим серйозним, просто надішліть електронне повідомлення на support@github.com з описом проблеми, і вони негайно виправлять це.


2
Тепер Github вимагає, щоб нові запити на підтримку створювались на їх веб-сайті підтримки: support.github.com/contact
Нарен

70

від git

Я щойно зазирнув до ваших внесків до сховища GoTime2, і, здається, ви натискаєте коміти до гілки макета.

Причина, по якій ці внески не відображаються, полягає в тому, що ми відстежуємо внески комітів лише тоді, коли вони вносяться до гілки сховища за замовчуванням або гілки gh-сторінок:

https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile#which-contributions-are-ccount

Після того, як ваші внески будуть об’єднані за замовчуванням або gh-сторінками, ви будете зараховані за них у день, коли ви їх створили.

тому в моєму випадку мені довелося об’єднати свою гілку «макета» з гілкою «майстер», щоб побачити, як «ваші внески» відображаються в календарі.


2
Я багато працюю у власному відділенні, а потім зливаюся у відділення "master", але мої внески все ще не відображаються. Будь-які ідеї? Редагувати: з якоїсь причини мою електронну адресу було встановлено на іншу електронну адресу в програмі, яку я використовую для управління своїми сховищами git (SourceTree). Я додав цю електронну адресу до свого облікового запису GitHub, але все ще не бачу змін. Я сподіваюся, що це займе трохи часу, щоб вони перерахували статистику.
robert.bo.roth

4
@ robert.bo.roth ~ "Після того, як ви зв’яжете електронні листи, можливо, вам доведеться зв’язатися зі службою підтримки, щоб вони могли заповнити ваші попередні внески." Джерело - git.io/NtUV5A
ikaruss

Що, якби я зробив зобов’язання в іншому відділенні, а потім власник репо об’єднав їх у masterвідділення. Чи будуть мої внески записані в календарі "Ваші внески"?
soshial

Пізно, тож ви, мабуть, знаєте зараз, але на випадок, якщо це буде корисно комусь іншому: @soshial так, це так :) воно робить датування та визнає після їх об’єднання, наскільки я помітив.
Ешлі Девіс,

Те саме сталося і зі мною. Після об’єднання з гілкою за замовчуванням внески з’явились одразу. Дякую
netishix

69

Для мене ця проблема була спричинена тим, що я зробив комісію зі свого робочого комп'ютера, де я використовував інший електронний лист у своєму gitconfig. Додавання моєї робочої адреси електронної пошти до мого облікового запису github не призвело до того, що минулі коміти відображались у зведенні, але нові коміти тепер відображаються як слід.

Ви можете знайти адресу електронної пошти, яку ви використовуєте для сховища git config user.email.


4
У мене така сама ситуація, це дивно, якщо вони прикріпляють коміт до ідентифікатора користувача замість електронної пошти, який ми могли б змінити.
Mingtao Zhang

1
Це найбільш вірогідна відповідь - я бачив, як це траплялося і раніше, хоча коміти та PR проходять дуже добре -
planetguru

Щиро дякую - це була саме та проблема, з якою я траплявся. Зробив git config user.email <my email>і натиснув коміт, і тепер він відстежує мої коміти. Далі я напишу їхню підтримку, оскільки в мене були дні, коли я працював 14 годин, роблячи нове репо і писаючи цілу альфа-версію, але я маю активність лише щодо тих питань, які я відкрив проти нього.
Джош із Карібу

@turtlemonvh Можна зв'язати різні електронні листи з різними репозиторіями. Отже, якщо ви використовували свій робочий комп’ютер, але маєте персональний репо проекту «personal_project» та інший репо «work_project», ви можете налаштувати окремі ідентифікатори електронної пошти для них обох. Перейдіть до каталогу репо на терміналі та зробіть наступне $pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email".
Chaitra Suresh

Це, мабуть, має бути прийнятною відповіддю. FYI, ви можете змінити історію git. Ось інструкції від github: change -author-info
Бен


16

Це зробило фокус! Я просто використовував, $ git config user.email "my email address used on my git repo"і це спрацювало.


12

"Ви повинні зафіксувати зміни з тим самим ідентифікатором електронної пошти, який ви використовували для входу до свого облікового запису github"

Як вирішити:

  • Змініть глобальний ідентифікатор електронної пошти для всіх сховищ, використовуючи наступну команду.

git config --global user.email abc@xyz.com

  • Або змініть ідентифікатор електронної пошти для одного конкретного сховища. Зсередини сховища частинок запустіть команду нижче

git config user.email abc@xyz.com

  • Або у сховищі відкрийте файл .git / config і відредагуйте

email = abc@xyz.com name = abc

інші причини можна знайти тут https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/


11

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

Перейдіть до терміналу і всередині папки, куди ви натискаєте коміти, запустіть:

git config --global user.email
  #=> TRICULI.TO@MAIL.com

git config --system user.email
  #=> 

git config --local user.email
  #=> triculito@mail.com

Щось подібне відбувалося і зі мною. Електронна пошта в моєму обліковому записі була електронною поштою у --global, але моя --local була дещо іншою, її не було '.'.

(У Gmail немає різниці між цими електронними листами, вони працюють точно так само).


1
Це спрацювало для мене. Моя глобальна інформація була правильною, але системні та локальні електронні листи порожні. Додав ці два, і тепер з’являються мої коміти.
KellyCode

10

тому це зазвичай трапляється через безліч факторів, для яких ви повинні відвідати цю довідку GitHub

Найпоширенішими помилками, які я виявив, були:

  1. Електронна пошта неправильно налаштована на локальній машині. (ваш ноутбук / ПК).
  2. Розгалуження.
  3. Не використовується для коміту гілка за замовчуванням або gh-сторінки.

Нещодавно я особисто мав випуск 1, для якого я зайшов на свій термінал / cmd / cli і локально налаштував свою електронну адресу, запустивши цю команду

git config --global user.email yourname@email.address

Як тільки це буде зроблено, спробуйте запустити цю конфігурацію ще раз так:

git config --global user.email

Ви повинні бачити:

yourname@email.address

Якщо це було правильно, ви успішно налаштували локальну машину за допомогою глобального загальнодоступного репо. Тепер ваша наступна комісія буде зарахована до вашого календаря.


Дякую за виправлення @aasmin ali
geekidharsh

7

Можливо, Github вирішив цю проблему. Є один простий спосіб, перейдіть до налаштування електронної пошти github.com: https://github.com/settings/emails

Персональні налаштування -> Електронні листи

Ви можете додати туди електронну адресу та підтвердити свою нову електронну адресу, надіславши посилання для підтвердження, тоді ви побачите, що всі ваші попередні комітети всі записані в календарі "Ваші внески". І ця перевірка електронної пошти також дозволить отримувати сповіщення та скидання паролів від GitHub.

Ваша нова електронна адреса буде використовуватися для сповіщень, пов’язаних з обліковим записом (наприклад, про зміни облікового запису та квитанцій про оплату), а також для будь-яких веб-операцій GitHub (наприклад, редагування та об’єднання).


Приємно бачити, як нарешті знову
працював

Це я зробив, і це спрацювало як шарм. Я побачив усі свої старі зобов'язання, які, на мою думку, були "відсутні"!
Аффлат,

Я зробив це. Але все ще не бачу моєї роботи на графіку. :( Мені чогось не вистачає? then you will find your previous commits are all recorded in the 'Your ContributionsКалендар` <- Це твердження, здається, не правильне. Чи потрібен цей крок часу?
Майкл Харлі

Я вирішив проблему з внеском, звернувшись до служби підтримки Github. Так, я перевірив правильність своєї адреси електронної пошти.
Michael Harley

6

У мене була та сама проблема в Xcode 9 для розробки iOS.

У Github я помітив автора, який не вчинив комітету. введіть тут опис зображення

Хоча я робив коміти в Xcode. У календарі "Ваші внески" не було внесків.

Рішення:

Змінити ім’я та електронну адресу комітера Глобально
Електронна адреса, яка використовується для комітів, повинна бути пов’язана з вашим обліковим записом GitHub.

У терміналі:

$ git config --global user.name "Full Name"
$ git config --global user.email "fullname@gmail.com"

Див. Також Довідка GitHub: Встановлення адреси електронної пошти коміту в Git


4

У мене виникли проблеми з переглядом атрибуцій комітів у приватному репо, яке було додано до моєї організації після того, як відбулося багато моїх комітів (нові коміти відображалися належним чином), і я зміг змусити їх з’явитися, лише видаливши електронну адресу з мого профілю, потім повторно додавши ту саму електронну адресу.

Здається, це робило проблему кешування в GitHub.


4

Виявляється, я раніше змінив свою адресу електронної пошти на GitHub, і забув змінити і локальну.


2

У мене була та сама проблема, і це спрацювало для мене: перевірка внесків GitHub, посилання нижче. Після встановлення програма перевіряє дійсність ваших останніх комітів і надає вам список правил, правило / правила не відповідають червоному.

Моя проблема полягала в тому, що GitHub використовував назву терміналу Cygwin як електронну адресу, тому я щойно додав ім’я свого терміналу Cygwin до свого профілю, і всі останні коміти були додані до мого календаря GitHub.

Ваша комісія не буде зарахована як внесок! Перевірте деталі нижче: https://github.com/jdennes/contribution-checker


2

Я хотів би вручну додати свою електронну пошту до налаштувань SourceTree, навіть якщо git configбуло налаштовано правильну адресу електронної пошти. Тільки виконавши це, GitHub почав записувати мої коміти до мого графіку внесків.

Знімок екрана налаштувань SourceTree



2

У мене була така сама точна проблема, виявляється, це тому, що електронна пошта в моєму локальному git не відповідає електронній пошті в моєму обліковому записі GitHub.

Щоб оновити електронну пошту на локальній машині:

git config --global user.email "your.email@email.com"

Переконайтеся, що всі ваші коміти оновлені на вашому github, якщо ні, ви можете перевірити окремі коміти, щоб побачити, з якою електронною поштою пов'язаний коміт, натиснувши коміт і додавши ".patch" до кінця URL-адреси коміту, як це:

https://github.com/username/repoName/commit/9fbe83f71cfc3503.patch

Тепер вам потрібно лише додати той електронний лист, який ви бачите у своєму обліковому записі (його не потрібно перевіряти)

Перевірте коміт ще раз, і ви побачите своє ім’я користувача та зараховане :)


2

GitHub чітко вказує, як вони вимірюють ваш внесок у своїй довідці :

  • Проблеми та запити на витяг:

    • Тільки якщо вони були відкриті в автономному сховищі, а не у виделці
  • Фіксує:
    Тільки якщо вони відповідають усім наступним умовам:

    • Електронна адреса, яка використовується для комітів, пов’язана з вашим обліковим записом GitHub

    • Фіксації були зроблені в автономному сховищі, а не у виделці

    • Комісії були зроблені:

      • У гілці сховища за замовчуванням (зазвичай головна)
      • У гілці gh-сторінок (для сховищ із сайтами проектів)

    Крім того, принаймні одне з наступного має бути істинним:

    • Ви є співавтором сховища або членом організації, яка є власником сховища
    • Ви розгалужили сховище
    • Ви відкрили запит на витяг або проблему у сховищі
    • Ви позначили зірочку сховищем

Примітка: Після прийняття коміту, який відповідає вимогам, щоб зарахувати до внеску, можливо, вам доведеться почекати до 24 годин, щоб побачити внесок на графіку ваших внесків


1

Щойно я знову додав електронний лист через командний рядок, і це вирішує проблему:

$ git config user.email "myemil@mydomain.com"

І ще одне питання стосується вашої філії. Якщо ви створили іншу гілку поруч з maser і спробуєте натиснути цю гілку, ця проблема може виникнути. У моєму випадку я почав наполягати на освоєнні та отримав рішення.


1

У мене була та сама проблема, і рішення було досить простим. Я неправильно встановив електронну адресу для глобальної конфігурації електронної пошти

git config --global user.email "email@yourmail.com"

Просто переконайтесь, що вказаний вище електронний лист та електронна адреса вашого облікового запису GitHub однакові


1

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

Як приклад,

https://github.com/susithrj

встановіть глобальне ім'я користувача як susithrj у вашій локальній конфігурації git.

git config --global user.name "susithrj"


0

Нещодавно мені довелося відновити ноутбук і забули перенастроїти електронну пошту на git. Ім'я користувача мого ноутбука схоже на моє git, тому я просто сліпо вважав, що мої коміти були атрибутовані правильно. Опублікувавши, ви можете змінити загальні налаштування електронної пошти. Однак, якщо ви хочете виправити помилки, віднесені до вашого проекту, ви можете використати цей запуск цього сценарію, щоб створити псевдонім, gcaякий ви можете запустити в каталозі проекту git, щоб змінити авторство ваших минулих комітів.

З вашого ~каталогу додайте:

$ cat <<EOF >> ~/.aliases
 function git_change_authorship {
 git filter-branch -f --env-filter "
  GIT_AUTHOR_NAME=\"\$1\"
  GIT_AUTHOR_EMAIL=\"\$2\"
  GIT_COMMITTER_NAME=\"\$1\"
  GIT_COMMITTER_EMAIL=\"\$2\"
 "
 }
 alias gca=git_change_authorship
 EOF

 $ source ~/.aliases

то у вашому каталозі проекту git запустіть gca <git username> <git email address>

Вгору! Я використовував це лише у своїх особистих проектах, де я був єдиним виконавцем. Не мали можливості перевірити це на групових проектах, тож дійте обережно.


0

Я перевірив розділ / вкладку "Статистика" мого сховища, і замість мого поточного користувача був анонімний користувач (яким я також був), тому я змінив конфігурацію електронної пошти на моєму поточному комп'ютері на ту, з якою я використовую github як описано вище.

Відомості


0

Ви можете залишити свою електронну адресу приватною, а внески відображатимуться у вашому календарі. Ви можете зберегти свою адресу електронної пошти конфіденційною в налаштуваннях електронної пошти github і використовувати адресу електронної пошти github noreply у вашій конфігурації git.

git config user.email "xxxxxxxxxxx@users.noreply.github.com"

Примітка

Для мене я вирішив залишити свою електронну пошту приватною в налаштуваннях електронної пошти github . Це призвело до помилки

Your push would publish a private email address.

намагаючись натиснути на моє репо. Я видалив електронний лист. Натискання після цього було успішним, але внески не були записані в моєму календарі.

Як згадував GitHub на сторінці налаштувань електронної пошти

Ми видалимо ваш електронний лист із загальнодоступного профілю та використаємо xxxxxxxxxxx@users.noreply.github.com під час виконання веб-операцій Git (наприклад, редагування та об’єднання) та надсилання електронного листа від вашого імені. Якщо ви хочете, щоб операції командного рядка Git використовували вашу приватну електронну пошту, ви повинні встановити свою електронну адресу в Git .


0

Була така сама проблема, моя була виправлена ​​шляхом встановлення електронної пошти

git config --global user.email jonathan.m2ndoza@gmail.com

Сподіваюся, це допомагає.


0

«Календар внесків» або «Огляд діяльності» на github реєструє лише коміти, пов’язані з електронною адресою, яка записана в обліковому записі github.

Змініть поштову адресу для всіх майбутніх комітів

Як вже зазначалося багатьма іншими в цій темі, знайдіть поточну локально збережену електронну адресу за адресою:

git config user.email

Якщо він не відповідає пошті на github, змініть, використовуючи:

git config --global user.email my_email@gmail.com

Це глобально змінить поштову адресу для всіх майбутніх комітів, але не вплине на "Огляд внесків" для минулих. Ви можете слідувати офіційним документам для розширеного опису.

Змініть поштову адресу, щоб оновити огляд минулих комітів

Ви усвідомлюєте, що багато ваших минулих комітів були неправильно записані в "Огляді внесків" Github: введіть тут опис зображення

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

Короткий підсумок:

  1. Відкрийте git bash
  2. Клонувати оголене сховище

    git clone --bare https://github.com/user/repo.git
    cd repo.git
    
  3. Вставте цей код в мерзотникові консоль Баша після зміни змінних OLD_EMAIL, CORRECT_NAMEі CORRECT_EMAIL:

    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"
    
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
    
  4. Натисніть клавішу Enter, щоб запустити сценарій

  5. Видаліть виправлену історію до github
    git push --force --tags origin 'refs/heads/*'
    

Ця процедура повинна оновити "Огляд внесків", а тепер також показати коміти, не показані раніше: введіть тут опис зображення

Попередження : Ця дія руйнує історію вашого сховища. Якщо ви співпрацюєте над сховищем з іншими, вважається поганою практикою переписувати опубліковану історію. Ви повинні робити це лише в екстрених випадках.


0

Обов’язково використовуйте прапор користувача. Наприклад git push -u origin замість git push

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