Коммиты GitHub не записываются в календаре ваших вкладов

94

Я постоянно коммитил свои GitHubрепозитории из своей оболочки Linux, и они красиво отображаются на веб-сайте, как и должны. Единственная проблема заключается в том, что в разделе «Ваши вклады» не отображаются недавние действия. У меня есть один зеленый квадрат с какой - то день в ноябре , которые я не знаю , как у меня , но все остальные вклады не показывать в календаре (но опять же , они действительно показывают в их операции РЕПО.
Что я здесь отсутствует?

Мой сайт на github

Рой Энджел
источник
1
Вы совершаете частное репо?
madhead 08
нет, все мои репо общедоступны,
Рой Энджел
2
Этот вопрос лучше либо для веб-приложений (поскольку он связан не с кодированием, а с тем, как работают интерфейс / учетные записи), либо напрямую на GitHub: Поддержка
случайный
На самом деле, @harsh дал лучший ответ
Али Сабери

Ответы:

48

Это проблема Github, из-за которой иногда их механизмы обновления не работают, и она превращается в «устаревший кеш». В этом нет ничего серьезного, просто отправьте электронное письмо на support@github.com с описанием проблемы, и они сразу же ее исправят.

Невик Ренель
источник
2
Github теперь требует, чтобы новые запросы поддержки создавались через их веб-сайт поддержки: support.github.com/contact
Нарен
70

из мерзавца

Я только что взглянул на ваш вклад в репозиторий GoTime2, и мне кажется, что вы отправляете коммиты в ветку макета.

Причина, по которой эти вклады не отображаются, заключается в том, что мы отслеживаем вклады коммитов только тогда, когда они вносятся в ветку репозитория по умолчанию или ветку gh-pages:

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

После того, как ваши вклады будут объединены на страницах по умолчанию или 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
Это наиболее вероятный ответ - я видел, как это происходило раньше, хотя коммиты и пиар проходят очень хорошо -
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"Это должно правильно подсчитывать ваши взносы.
Чайтра Суреш
Вероятно, это должен быть ответ. К вашему сведению, вы можете изменить историю 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 и отредактируйте

электронная почта = abc@xyz.com имя = 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 между этими письмами нет разницы, они работают точно так же).

Drjorgepolanco
источник
1
Это сработало для меня. Мой глобальный был правильным, но системные и локальные электронные письма были пустыми. Добавил эти два, и теперь появляются мои коммиты.
KellyCode
10

поэтому обычно это происходит из-за множества факторов, по которым вы должны посетить эту справку GitHub

Самые частые ошибки, которые я обнаружил, были:

  1. Электронная почта неправильно настроена на локальном компьютере. (ваш ноутбук / компьютер).
  2. Разветвление.
  3. Не использовать ветку default или gh-pages для фиксации.

У меня лично недавно была проблема 1, для которой я зашел в свой терминал / cmd / cli и настроил свой адрес электронной почты локально, выполнив эту команду

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

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

git config --global user.email

Вы должны увидеть:

yourname@email.address

Если это было правильно, вы успешно настроили локальный компьютер с глобальным публичным репозиторием. Теперь ваша следующая фиксация будет зачислена в ваш календарь.

geekidharsh
источник
Спасибо за исправление @aasmin ali
geekidharsh
7

Возможно, Github решил эту проблему. Есть один простой способ, перейти в настройку электронной почты github.com: https://github.com/settings/emails

Персональные настройки -> Электронная почта

Вы можете добавить туда адрес электронной почты и подтвердить свой новый адрес электронной почты, отправив ссылку для подтверждения, после чего вы обнаружите, что все ваши предыдущие коммиты записаны в календаре «Ваши вклады». И это подтверждение по электронной почте также позволит вам получать уведомления и сброс пароля от GitHub.

Ваш новый адрес электронной почты будет использоваться для уведомлений, связанных с учетной записью (например, изменения учетной записи и квитанции о выставлении счетов), а также для любых операций на GitHub через Интернет (например, редактирования и слияния).

Гохуа
источник
Приятно снова увидеть всю мою тяжелую работу ... :)
работает
Это то, что я сделал, и это сработало как шарм. Я видел все свои старые коммиты, которые, как мне казалось, «пропали без вести»!
Afflatus
Я сделал это. Но все еще не вижу свою работу на графике. :( Я что-то then you will find your previous commits are all recorded in the 'Your Contributions
Майкл Харли
Я решил проблему с вкладом, связавшись со службой поддержки Github. Да, я проверил, что мой адрес электронной почты правильный.
Майкл Харли
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

theWhiteFox
источник
2

Мне приходилось вручную добавлять свою электронную почту в настройки SourceTree, даже если git configбыл настроен правильный адрес электронной почты. Только после этого GitHub начал записывать мои коммиты в мой график вкладов.

Скриншот настроек SourceTree

Knutigro
источник
2

Вы можете перейти на https://github.com/settings/emails и добавить адрес электронной почты, который вы используете, с git config --global user.email

Фредерик Г. Сандало
источник
2

У меня была такая же проблема, оказалось, что это потому, что электронная почта в моем локальном git не соответствует электронной почте в моей учетной записи GitHub.

Чтобы обновить электронную почту на локальном компьютере:

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

Убедитесь, что все ваши коммиты обновлены на вашем github, в противном случае вы можете проверить отдельные коммиты, чтобы увидеть, с каким адресом электронной почты связана фиксация, нажав на фиксацию и добавив «.patch» в конец URL-адреса фиксации следующим образом:

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

Теперь все, что вам нужно сделать, это добавить этот адрес электронной почты в свою учетную запись (его не нужно проверять).

Проверьте фиксацию еще раз, и вы должны увидеть свое имя пользователя и кредит :)

mwen1993
источник
2

GitHub четко указывает, как они измеряют ваш вклад в своей справке :

  • Проблемы и запросы на извлечение:

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

    • Адрес электронной почты, используемый для коммитов, связан с вашей учетной записью GitHub.

    • Коммиты были сделаны в автономном репозитории, а не в вилке.

    • Сделаны коммиты:

      • В ветке репозитория по умолчанию (обычно master)
      • В ветке gh-pages (для репозиториев с сайтами проектов)

    Кроме того, должно выполняться хотя бы одно из следующего:

    • Вы являетесь соавтором репозитория или членом организации, которой принадлежит репозиторий
    • Вы разветвили репозиторий
    • Вы открыли пул-реквест или проблему в репозитории
    • Вы отметили репозиторий звездочкой

Примечание. После совершения фиксации, отвечающей требованиям для засчета взносов, вам может потребоваться подождать до 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"

SRJ
источник
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

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

Insigths

bsh
источник
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. Вставьте следующий код в консоль git bash после изменения переменных 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

Упулие Хан
источник