Os commits do GitHub não são registrados no calendário de 'Suas contribuições'

100

Tenho feito commits contínuos para meus GitHubrepositórios do shell do Linux e eles aparecem bem no site da maneira que deveriam. O único problema é que a seção "Suas contribuições" não mostra nenhuma atividade recente. Eu tenho um quadrado verde de algum dia em novembro, que eu não sei como eu consegui, mas todas as outras contribuições não aparecem no calendário (mas, novamente, eles não aparecem em seus repos.
O que estou ausente aqui?

Meu site github

Roey Angel
fonte
1
Você se compromete com um repo privado?
madhead
não, todos os meus repositórios são públicos
Roey Angel
2
Esta pergunta é melhor para aplicativos da Web (já que não está lidando com codificação, mas como a interface / contas funcionam) ou direto para GitHub: Suporte
aleatório
Na verdade, @harsh deu a melhor resposta
Ali Saberi

Respostas:

49

Este é um problema do Github em que às vezes seus mecanismos de atualização não funcionam e se transforma em um "cache obsoleto". Isso não é nada sério, basta enviar um e-mail para [email protected] descrevendo o problema e eles vão consertar imediatamente.

Nevik Rehnel
fonte
2
O Github agora exige que novas solicitações de suporte sejam criadas usando o site de suporte: support.github.com/contact
Naren
78

Para mim, esse problema foi causado pelo meu commit no meu computador de trabalho, onde estava usando um e-mail diferente no meu gitconfig. Adicionar meu endereço de e-mail comercial à minha conta do github não fez com que os commits anteriores apareçam no resumo, mas os novos commits estão aparecendo como deveriam.

Você pode encontrar o endereço de e-mail que está usando para um repositório com git config user.email.

Turtlemonvh
fonte
4
Eu tenho a mesma situação, isso é estranho, eles deveriam anexar o commit ao ID do usuário ao invés do e-mail, o que poderíamos mudar.
Mingtao Zhang
1
Esta é a resposta mais provável - Já vi isso acontecer antes, embora os commits e PR's estejam indo bem -
planetguru
Muito obrigado - esse era exatamente o problema que eu estava acontecendo. Fiz um git config user.email <my email>e empurrou um commit, e agora ele está rastreando meus commits. Escreverei o suporte deles a seguir, já que tenho dias em que trabalhei 14 horas, fazendo um novo repo e obtendo uma versão alfa inteira escrita, mas só tenho atividade para os problemas que abri contra ele.
Josh de Qaribou
@turtlemonvh É possível vincular diferentes emails a diferentes repositórios. Portanto, se você estiver usando seu computador de trabalho, mas tiver um repo de projeto pessoal "personal_project" e outro repo "work_project", poderá configurar IDs de e-mail separados para ambos. Vá para o diretório repo no terminal e faça o seguinte $pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email"Isso deve contar suas contribuições corretamente.
Chaitra Suresh
Esta provavelmente deve ser a resposta aceita. Para sua informação, você pode mudar a história do git. Aqui estão as instruções do github: changing-author-info
Ben
74

do git

Acabei de dar uma olhada em suas contribuições para o repositório GoTime2 e parece que você está enviando commits para o branch de layout.

A razão pela qual essas contribuições não estão aparecendo é que nós apenas rastreamos as contribuições de commit quando elas são feitas para o branch padrão do repositório ou branch gh-pages:

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

Assim que suas contribuições forem mescladas com as páginas padrão ou gh, você será creditado por elas na data em que as criou.

então, no meu caso, tive que mesclar meu branch 'layout' com o branch 'master' para ver as 'suas contribuições' aparecerem no calendário.

Jonathan Chad Faling
fonte
2
Eu trabalho muito no meu próprio branch e depois mesclo no branch 'master', mas minhas contribuições ainda não estão aparecendo. Alguma ideia? Editar: por algum motivo, meu endereço de e-mail foi configurado para um e-mail diferente no aplicativo que uso para gerenciar meus repositórios git (SourceTree). Adicionei esse endereço de e-mail à minha conta do GitHub, mas ainda não vejo nenhuma alteração. Espero que demore um pouco para recalcular as estatísticas.
robert.bo.roth
4
@ robert.bo.roth ~ "Depois de vincular e-mails, talvez seja necessário entrar em contato com o suporte para que eles possam preencher suas contribuições anteriores." Fonte - git.io/NtUV5A
ikaruss
E se eu fizesse commits em outro branch e o dono do repo os mesclasse no masterbranch. Minhas contribuições seriam registradas no calendário 'Suas contribuições'?
soshial
Atrasado, então você provavelmente já sabe, mas caso seja benéfico para outra pessoa: @soshial sim, é o caso :) data retroativa e confirma após terem sido incorporados, pelo que eu percebi.
Ashley Davies
O mesmo aconteceu comigo. Após a fusão com o branch padrão, as contribuições apareceram imediatamente. Obrigado
netishix de
20

Isso funcionou! Eu apenas usei $ git config user.email "my email address used on my git repo"e funcionou.

Tyler Morgan
fonte
14

"Você tem que confirmar as alterações com o mesmo id de e-mail que você usou para acessar sua conta do github"

Como resolver:

  • Altere a id de email global para todos os repositórios usando o seguinte comando.

git config --global user.email [email protected]

  • Ou mude a id do email para um repositório particular. De dentro do repositório particlar execute o comando abaixo

git config user.email [email protected]

  • Ou no repositório, abra o arquivo .git / config e edite

email = [email protected] name = abc

outras causas podem ser encontradas aqui https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/

Vishwanath Gowda k
fonte
12

Certifique-se de que seu e-mail local seja exatamente o mesmo da conta.

Vá para o terminal e dentro da pasta em que você está enviando os commits, execute:

git config --global user.email
  #=> [email protected]

git config --system user.email
  #=> 

git config --local user.email
  #=> [email protected]

Algo semelhante estava acontecendo comigo. O e-mail da minha conta era o do --global, mas o meu --local era um pouco diferente, não tinha '.'.

(No Gmail não há diferença entre esses e-mails, eles funcionam exatamente da mesma forma).

drjorgepolanco
fonte
1
Isso funcionou para mim. Meu global estava correto, mas os e-mails do sistema e locais em branco. Adicionei esses dois e agora meus commits aparecem.
KellyCode
11

então isso geralmente acontece devido a uma série de fatores, para os quais você deve visitar esta ajuda do GitHub

Os erros mais comuns que encontrei foram:

  1. Email não configurado corretamente na máquina local. (seu laptop / pc).
  2. Bifurcação.
  3. Não usando branch padrão ou gh-pages para commit.

Eu pessoalmente tive o problema 1 recentemente, para o qual fui até meu terminal / cmd / cli e configurei meu endereço de e-mail localmente executando este comando

git config --global user.email [email protected]

Depois de fazer isso, tente executar esta configuração novamente desta forma:

git config --global user.email

Você deve ser capaz de ver:

[email protected]

Se estiver correto, você configurou com êxito sua máquina local com seu repositório público global. Agora, seu próximo commit será creditado em seu calendário.

geekidharsh
fonte
Obrigado pela correção @aasmin ali
geekidharsh
8

Talvez o Github tenha corrigido esse problema. Existe uma maneira simples, vá para a configuração de e-mail github.com: https://github.com/settings/emails

Configurações pessoais -> Emails

Você pode adicionar o endereço de e-mail lá, e verificar o seu endereço de e-mail mais recente enviando um link de verificação, então você vai descobrir que seus commits anteriores estão todos registrados no calendário 'Suas contribuições'. E essa verificação de e-mail também permitirá que você receba notificações e redefinições de senha do GitHub.

Seu novo endereço de e-mail será usado para notificações relacionadas à conta (por exemplo, alterações de conta e recibos de cobrança), bem como quaisquer operações GitHub baseadas na web (por exemplo, edições e mesclagens).

Guohua
fonte
Bom ver todo o meu trabalho árduo finalmente mostrado novamente ... :)
trabalhei em
Isso é o que eu fiz e funcionou como um encanto. Eu vi todos os meus commits antigos que eu pensei que estavam "perdidos"!
Afflatus
Eu fiz isso. Mas ainda não consigo ver meu trabalho no gráfico. :( Estou perdendo alguma coisa? then you will find your previous commits are all recorded in the 'Your ContributionsCalendário` <- Esta afirmação não parece estar certa. Esta etapa leva tempo?
Michael Harley
Resolvi meu problema de contribuição entrando em contato com o suporte do Github. Sim, verifiquei se meu endereço de e-mail está correto.
Michael Harley
7

Eu tive o mesmo problema no Xcode 9 para desenvolvimento iOS.

No Github, percebi um autor não committer. insira a descrição da imagem aqui

Mesmo tendo feito commits no Xcode. Não houve contribuições no calendário 'Suas contribuições'.

Solução:

Alterar nome e e-mail do committer globalmente
O endereço de e-mail usado para os commits deve estar associado à sua conta GitHub.

No Terminal:

$ git config --global user.name "Full Name"
$ git config --global user.email "[email protected]"

Veja também GitHub Help: Setting your commit email address in Git

Cons Bulaquena
fonte
5

Tive problemas para ver atribuições de commits em um repo privado que foi adicionado à minha organização depois que muitos de meus commits ocorreram (novos commits apareciam corretamente) e só consegui fazer com que eles aparecessem removendo o endereço de e-mail do meu perfil, em seguida, adicionar novamente o mesmo endereço de e-mail.

Parece que isso resolveu um problema de cache no GitHub.

aaaronic
fonte
5

Acontece que eu anteriormente alterei meu endereço de e-mail no GitHub e esqueci de alterar o local também.

Cesare
fonte
3

Eu tive o mesmo problema e funcionou para mim: verificador de contribuições do GitHub, link abaixo. Uma vez instalado, o programa verifica a validade de seus commits recentes e lhe dá uma lista de regras, com a regra / regras não atendidas em vermelho.

Meu problema era que o GitHub estava usando um nome de terminal Cygwin como endereço de e-mail, então apenas adicionei meu nome de terminal Cygwin ao meu perfil e todos os commits recentes foram adicionados ao meu calendário GitHub.

Seu commit não será contado como uma contribuição! Verifique os detalhes abaixo: https://github.com/jdennes/contribution-checker

theWhiteFox
fonte
3

Tive de adicionar manualmente meu e-mail às configurações do SourceTree, mesmo que git configtivesse o endereço de e-mail correto configurado. Só depois de fazer isso, o GitHub começou a gravar meus commits em meu gráfico de contribuição.

Captura de tela das configurações de SourceTree

Knutigro
fonte
3

Eu tive exatamente o mesmo problema, acontece que o e-mail no meu git local não corresponde ao e-mail na minha conta GitHub.

Para atualizar o e-mail em sua máquina local:

git config --global user.email "[email protected]"

Verifique se todos os seus commits estão atualizados em seu github, caso contrário, você pode verificar os commits individuais para ver a qual e-mail o commit está associado clicando no commit e adicionando ".patch" ao final do url do commit assim:

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

Agora, tudo o que você precisa fazer é adicionar o e-mail que você vê à sua conta. (Ele não precisa ser verificado)

Verifique o commit novamente e você verá seu nome de usuário e os créditos :)

mwen1993
fonte
3

Acabei de adicionar meu e-mail novamente por meio da linha de comando e isso resolve o problema:

$ git config user.email "[email protected]"

E outra questão é sobre o seu ramo. Se você criar outro branch ao lado do maser e tentar empurrar esse branch, este problema pode ocorrer. No meu caso, comecei a me esforçar para dominar e encontrei a solução.

Asadut Zaman
fonte
3

O GitHub afirma claramente como avaliam suas contribuições em seu Help :

  • Problemas e solicitações pull:

    • Somente se eles foram abertos em um repositório independente, não em um fork
  • Compromissos:
    somente se atenderem a todas as seguintes condições:

    • O endereço de e-mail usado para os commits está associado à sua conta GitHub

    • Os commits foram feitos em um repositório independente, não em um fork

    • Os commits foram feitos:

      • No branch padrão do repositório (geralmente master)
      • No branch gh-pages (para repositórios com sites de projetos)

    Além disso, pelo menos um dos seguintes deve ser verdadeiro:

    • Você é um colaborador do repositório ou é membro da organização que possui o repositório
    • Você bifurcou o repositório
    • Você abriu uma solicitação pull ou problema no repositório
    • Você marcou o repositório com estrela

Observação: depois de fazer um compromisso que atenda aos requisitos para contar como uma contribuição, pode ser necessário esperar até 24 horas para ver a contribuição aparecer em seu gráfico de contribuições

Mehdi
fonte
Isso (no branch padrão do repositório (geralmente master)) faz total sentido agora, exatamente a razão pela qual minhas contribuições ainda não são exibidas. Obrigado!
Marcos Buarque
@MarcosBuarque De nada;)
Mehdi
2

Tive o mesmo problema e a solução foi bem simples. Eu tinha o e-mail errado definido para a configuração global de e-mail

git config --global user.email "[email protected]"

Apenas certifique-se de que o e-mail acima e o e-mail da sua conta do GitHub sejam os mesmos

Hadi Mir
fonte
2

O "Calendário de contribuições" ou "Visão geral da atividade" no github registra apenas os commits relacionados ao endereço de e-mail que está registrado na conta do github.

Altere o endereço de e-mail para todos os commits futuros

Como já observado por muitos outros neste tópico, procure o endereço de e-mail salvo localmente atual por:

git config user.email

Se não corresponder ao e-mail no github, mude usando:

git config --global user.email [email protected]

Isso mudará globalmente o endereço de e-mail para todos os commits futuros, mas não afetará a "Visão geral das contribuições" para os anteriores. Você pode seguir os documentos oficiais para uma descrição mais detalhada.

Altere o endereço de e-mail para atualizar a visão geral dos commits anteriores

Você percebe que muitos dos seus commits anteriores não foram registrados corretamente na "Visão geral das contribuições" do Github: insira a descrição da imagem aqui

Para mudar isso, você pode mudar as informações do autor para os repositórios, seguindo as etapas explicadas na documentação oficial do github .

Um breve resumo:

  1. Abrir git bash
  2. Clone um repositório vazio

    git clone --bare https://github.com/user/repo.git
    cd repo.git
    
  3. Cole o seguinte código no console do bash git depois de alterar as variáveis OLD_EMAIL, CORRECT_NAMEe CORRECT_EMAIL:

    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="[email protected]"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="[email protected]"
    
    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. Pressione Enter para executar o script

  5. Envie o histórico corrigido para o github
    git push --force --tags origin 'refs/heads/*'
    

Este procedimento deve atualizar a "Visão geral das contribuições" e agora também mostrar os commits não mostrados antes: insira a descrição da imagem aqui

Aviso : esta ação é destrutiva para o histórico do seu repositório. Se você está colaborando em um repositório com outras pessoas, é considerado uma prática ruim reescrever o histórico publicado. Você só deve fazer isso em uma emergência.

GinTonic
fonte
2

Corrigi o problema semelhante usando o nome de usuário do perfil do GitHub como meu nome de usuário do git em meu ambiente local.

Por exemplo,

https://github.com/susithrj

defina o nome de usuário global como susithrj em sua configuração git local.

git config --global user.name "susithrj"

SRJ
fonte
1

Tive que restaurar meu laptop recentemente e esqueci de reconfigurar meu e-mail para o git. Meu nome de usuário do laptop é semelhante ao meu git, então pensei cegamente que meus commits estavam sendo atribuídos corretamente. Conforme postado, você pode alterar suas configurações globais de e-mail. No entanto, se você quiser corrigir os commits atribuídos incorretamente em seu projeto, você pode usar este script para criar um alias gcaque você pode executar no diretório do projeto git para alterar a autoria de seus commits anteriores.

No seu ~diretório, adicione:

$ 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

em seguida, no diretório do projeto git, execute gca <git username> <git email address>

Atenção! Só usei isso em meus próprios projetos pessoais, onde fui o único commiter. Ainda não tive a chance de testá-lo com projetos em grupo, então proceda com cautela.

Lockjohn
fonte
1

Eu verifiquei a seção / guia "Insights" do meu repositório e, em vez do meu usuário atual, havia um usuário anônimo (que também era eu), então mudei a configuração do e-mail no meu computador atual para aquele com o qual uso o github como descrito acima.

Insigths

bsh
fonte
1

Você pode manter seu e-mail privado e ainda ter as contribuições exibidas em sua agenda. Você pode optar por manter seu endereço de e-mail privado nas configurações de e- mail do github e usar o endereço de e-mail noreply do github em sua configuração do git.

git config user.email "[email protected]"

Nota

Para mim, optei por manter meu e-mail privado das configurações de e-mail do github . Isso me deu um erro

Your push would publish a private email address.

ao tentar enviar para meu repositório. Eu removi o e-mail. Puxar depois disso foi um sucesso, mas as contribuições não foram registradas em meu calendário.

Conforme mencionado pelo GitHub na página de configurações de e-mail

Removeremos seu e-mail de perfil público e usaremos [email protected] ao realizar operações Git baseadas na web (por exemplo, edições e mesclagens) e enviar e-mail em seu nome. Se você deseja que as operações do Git de linha de comando usem seu e-mail privado, você deve definir seu e-mail no Git .

Bitto Bennichan
fonte
1

Tive o mesmo problema, o meu foi resolvido definindo o e-mail

git config --global user.email [email protected]

Espero que isto ajude.

Jonathan Mendoza
fonte
1

Certifique-se de usar o sinalizador do usuário. Por exemplo em git push -u origin vez de git push

Upulie Han
fonte