Les validations GitHub ne sont pas enregistrées dans le calendrier "Vos contributions"

94

Je fais des engagements continus sur mes GitHubdépôts depuis mon shell Linux et ils apparaissent bien sur le site Web comme ils le devraient. Le seul problème est que la section "Vos contributions" n'affiche aucune activité récente. J'ai un carré vert un jour en Novembre que je ne sais pas comment je suis arrivé , mais toutes les autres contributions faites, ils apparaissent pas dans le calendrier (mais encore une fois n'apparaissent dans leurs prises en pension. Qu'est - ce que je manque ici?

Mon site github

Roey Angel
la source
1
Vous engagez-vous dans le repo privé?
madhead
non, tous mes dépôts sont publics
Roey Angel
2
Cette question est meilleure pour les applications Web (car il ne s'agit pas de codage mais du fonctionnement de l'interface / des comptes) ou directement vers GitHub: Support
aléatoire
En fait, @harsh a donné la meilleure réponse
Ali Saberi

Réponses:

48

C'est un problème Github où parfois leurs mécanismes de mise à jour ne fonctionnent pas et cela se transforme en "cache périmé". Ce n'est rien de grave, envoyez simplement un e-mail à [email protected] décrivant le problème et ils le résoudront immédiatement.

Nevik Rehnel
la source
2
Github nécessite maintenant, de nouvelles demandes d'assistance doivent être créées à l'aide de leur site Web d'assistance: support.github.com/contact
Naren
70

de git

Je viens de jeter un coup d'œil à vos contributions pour le référentiel GoTime2 et il semble que vous ayez poussé des commits vers la branche de mise en page.

La raison pour laquelle ces contributions n'apparaissent pas est que nous ne suivons les contributions de commit que lorsqu'elles sont effectuées dans la branche par défaut du référentiel ou dans la branche gh-pages:

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

Une fois vos contributions fusionnées dans les pages par défaut ou gh-pages, vous en serez crédité à la date à laquelle vous les avez créées.

donc dans mon cas, j'ai dû fusionner ma branche «mise en page» avec la branche «maître» pour voir apparaître «vos contributions» dans le calendrier.

Jonathan Chad Faling
la source
2
Je travaille beaucoup dans ma propre branche, puis je fusionne dans la branche «master», mais mes contributions n'apparaissent toujours pas. Des idées? Edit: pour une raison quelconque, mon adresse e-mail a été définie sur une adresse e-mail différente dans l'application que j'utilise pour gérer mes référentiels git (SourceTree). J'ai ajouté cette adresse e-mail à mon compte GitHub, mais je ne vois toujours aucun changement. J'espère qu'il leur faudra juste un certain temps pour recalculer les statistiques.
robert.bo.roth
4
@ robert.bo.roth ~ "Une fois que vous avez lié des e-mails, vous devrez peut-être contacter le support afin qu'il puisse compléter vos contributions précédentes." Source - git.io/NtUV5A
ikaruss
Et si je faisais des commits dans une autre succursale et que le propriétaire du repo les fusionnait en mastersuccursale. Mes contributions seraient-elles enregistrées dans le calendrier «Vos contributions»?
soshial
En retard, donc vous le savez probablement maintenant, mais au cas où cela profiterait à quelqu'un d'autre: @soshial oui, c'est le cas :) il est rétro-daté et reconnaît après leur fusion, pour autant que je l'ai remarqué.
Ashley Davies
La même chose m'est arrivée. Après avoir fusionné avec la branche par défaut, les contributions sont apparues immédiatement. Merci
netishix
69

Pour moi, ce problème a été causé par ma validation depuis mon ordinateur de travail où j'utilisais un autre e-mail dans mon gitconfig. L'ajout de mon adresse e-mail professionnelle à mon compte github n'a pas fait apparaître les commits passés dans le résumé, mais les nouveaux commits s'affichent maintenant comme ils le devraient.

Vous pouvez trouver l'adresse e-mail que vous utilisez pour un référentiel avec git config user.email.

turtlemonvh
la source
4
J'ai la même situation, c'est bizarre, devraient-ils joindre le commit à userid au lieu de Email, ce que nous pourrions changer.
Mingtao Zhang
1
C'est la réponse la plus probable - j'ai déjà vu cela se produire même si les commits et les relations publiques se déroulent très bien -
planetguru
Merci beaucoup - c'était exactement le problème que je rencontrais. Est - ce un git config user.email <my email>et poussé une livraison , et maintenant il est suivi mes commits. J'écrirai ensuite leur support, car j'ai travaillé des jours 14 heures, faisant un nouveau dépôt et obtenant une version alpha entière écrite, mais je n'ai d'activité que pour les problèmes que j'ai ouverts contre lui.
Josh de Qaribou le
@turtlemonvh Il est possible de lier différents e-mails à différents dépôts. Donc, si vous utilisiez votre ordinateur de travail mais que vous avez un référentiel de projet personnel "personal_project" et un autre référentiel "work_project", vous pouvez configurer des identifiants de messagerie séparés pour les deux. Accédez au répertoire du dépôt sur le terminal et procédez comme suit. $pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email"Cela devrait compter correctement vos contributions.
Chaitra Suresh
Cela devrait probablement être la réponse acceptée. FYI, vous pouvez changer l'historique de git. Voici les instructions de github: changer-auteur-info
Ben
16

Cela a fait l'affaire! Je viens de l'utiliser $ git config user.email "my email address used on my git repo"et cela a fonctionné.

Tyler Morgan
la source
12

"Vous devez valider les modifications avec le même identifiant de messagerie que celui utilisé pour vous connecter à votre compte github"

Comment résoudre:

  • Modifiez l'ID de messagerie global pour tous les référentiels à l'aide de la commande suivante.

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

  • Ou Modifiez l'identifiant de messagerie d'un référentiel particulier. Depuis l'intérieur du référentiel particulier, exécutez la commande ci-dessous

git config user.email [email protected]

  • Ou dans le référentiel, ouvrez le fichier .git / config et éditez

email = [email protected] nom = abc

d'autres causes peuvent être trouvées ici https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/

Vishwanath gowda k
la source
11

Assurez-vous que votre adresse e-mail locale est exactement la même que celle du compte.

Accédez au terminal et dans le dossier dans lequel vous poussez les commits, exécutez:

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

git config --system user.email
  #=> 

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

Quelque chose de similaire m'arrivait. L'e-mail de mon compte était celui du --global, mais mon --local était légèrement différent, il n'y avait pas de «.».

(Dans Gmail, il n'y a aucune différence entre ces e-mails, ils fonctionnent exactement de la même manière).

drjorgepolanco
la source
1
Cela a fonctionné pour moi. Mon global était correct mais les e-mails système et locaux vides. Ajout de ces deux et maintenant mes commits apparaissent.
KellyCode le
10

donc cela se produit généralement en raison de nombreux facteurs, pour lesquels vous devez visiter cette aide GitHub

Les erreurs les plus courantes que j'ai trouvées étaient:

  1. L'e-mail n'est pas correctement configuré sur l'ordinateur local. (votre ordinateur portable / pc).
  2. Fourche.
  3. Ne pas utiliser la branche par défaut ou gh-pages pour la validation.

J'ai personnellement eu le problème 1 récemment, pour lequel je suis allé sur mon terminal / cmd / cli et configurer mon adresse e-mail localement en exécutant cette commande

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

Une fois que cela est fait, essayez à nouveau d'exécuter cette configuration comme ceci:

git config --global user.email

Vous devriez pouvoir voir:

[email protected]

Si cela était correct, vous avez configuré avec succès votre ordinateur local avec votre référentiel public global. Maintenant, votre prochain commit sera crédité sur votre calendrier.

geekidharsh
la source
Merci pour le correctif @aasmin ali
geekidharsh
7

Peut-être que Github avait résolu ce problème. Il existe un moyen simple, accédez aux paramètres de messagerie de github.com: https://github.com/settings/emails

Paramètres personnels -> E-mails

Vous pouvez y ajouter une adresse e-mail et vérifier votre nouvelle adresse e-mail en envoyant un lien de vérification, puis vous constaterez que vos précédents commits sont tous enregistrés dans le calendrier "Vos contributions". Et cette vérification par e-mail vous permettra également de recevoir des notifications et des réinitialisations de mot de passe de GitHub.

Votre nouvelle adresse e-mail sera utilisée pour les notifications liées au compte (par exemple, les modifications de compte et les reçus de facturation) ainsi que pour toutes les opérations GitHub basées sur le Web (par exemple les modifications et les fusions).

Guohua
la source
Ravi de voir tout mon travail acharné enfin montré à nouveau ... :)
travaillé
C'est ce que j'ai fait et cela a fonctionné comme un charme. J'ai vu tous mes anciens commits que je pensais "manquants"!
Afflatus
J'ai fait ça. Mais je ne peux toujours pas voir mon travail sur le graphique. :( Est-ce que je manque quelque chose? then you will find your previous commits are all recorded in the 'Your ContributionsCalendrier` <- Cette déclaration ne semble pas correcte. Cette étape prend-elle du temps?
Michael Harley
J'ai résolu mon problème de contribution, en contactant le support de Github. Oui, j'ai vérifié que mon adresse e-mail est correcte.
Michael Harley
6

J'ai eu le même problème dans Xcode 9 pour le développement iOS.

Dans Github, j'ai remarqué un auteur non-committer. entrez la description de l'image ici

Même si j'ai fait des commits dans Xcode. Il n'y avait aucune contribution dans le calendrier "Vos contributions".

Solution:

Modifier le nom et l' adresse e-mail du committer globalement
L'adresse e-mail utilisée pour les commits doit être associée à votre compte GitHub.

Dans le terminal:

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

Voir aussi Aide GitHub: Définition de votre adresse e-mail de validation dans Git

Contre Bulaquena
la source
4

J'ai rencontré des problèmes pour voir les attributions pour les commits sur un dépôt privé qui a été ajouté à mon organisation après que plusieurs de mes commits se sont produits (les nouveaux commits apparaissaient correctement) et je n'ai pu les faire apparaître qu'en supprimant l'adresse e-mail de mon profil, puis rajoutez la même adresse e-mail.

Il semble que cela ait résolu un problème de mise en cache dans GitHub.

aaaronique
la source
4

Il s'avère que j'ai déjà changé mon adresse e-mail sur GitHub et j'ai également oublié de changer l'adresse locale.

Cesare
la source
2

J'ai eu le même problème et cela a fonctionné pour moi: vérificateur de contribution GitHub, lien ci-dessous. Une fois installé, le programme vérifie la validité de vos commits récents et vous donne une liste de règles, avec la / les règles non respectées en rouge.

Mon problème était que GitHub utilisait un nom de terminal Cygwin comme adresse e-mail, je viens donc d'ajouter le nom de mon terminal Cygwin à mon profil et tous les commits récents ont été ajoutés à mon calendrier GitHub.

Votre engagement ne sera pas compté comme une contribution! Vérifiez les détails ci-dessous: https://github.com/jdennes/contribution-checker

theWhiteFox
la source
2

Je dois ajouter manuellement mon e-mail aux paramètres de SourceTree même si git configla bonne adresse e-mail était configurée. Ce n'est qu'après avoir fait cela que GitHub a commencé à enregistrer mes engagements dans mon graphique de contribution.

Capture d'écran des paramètres SourceTree

knutigro
la source
2

J'ai eu le même problème exact, il s'avère que c'est parce que l'e-mail sur mon git local ne correspond pas à l'e-mail sur mon compte GitHub.

Pour mettre à jour l'e-mail sur votre ordinateur local:

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

Vérifiez que tous vos commits sont mis à jour sur votre github, sinon vous pouvez vérifier les commits individuels pour voir à quel e-mail le commit est associé en cliquant sur le commit et en ajoutant ".patch" à la fin de l'url de commit comme ceci:

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

Il ne vous reste plus qu'à ajouter l'e-mail que vous voyez à votre compte (il n'a pas besoin d'être vérifié)

Vérifiez à nouveau le commit et vous devriez voir votre nom d'utilisateur et crédité :)

mwen1993
la source
2

GitHub indique clairement comment ils mesurent vos contributions dans leur aide :

  • Problèmes et demandes d'extraction:

    • Seulement s'ils ont été ouverts dans un référentiel autonome, pas dans un fork
  • Commits:
    uniquement s'ils remplissent toutes les conditions suivantes:

    • L'adresse e-mail utilisée pour les commits est associée à votre compte GitHub

    • Les commits ont été effectués dans un référentiel autonome, pas dans un fork

    • Les commits ont été faits:

      • Dans la branche par défaut du référentiel (généralement master)
      • Dans la branche gh-pages (pour les référentiels avec des sites de projet)

    En outre, au moins l'une des conditions suivantes doit être vraie:

    • Vous êtes un collaborateur sur le référentiel ou êtes membre de l'organisation propriétaire du référentiel
    • Vous avez forké le référentiel
    • Vous avez ouvert une demande d'extraction ou un problème dans le référentiel
    • Vous avez marqué le référentiel

Remarque: après avoir effectué un engagement qui remplit les conditions pour être comptabilisé comme une contribution, vous devrez peut-être attendre jusqu'à 24 heures pour voir la contribution apparaître sur le graphique de vos contributions.

Mehdi
la source
1

Je viens de rajouter mon e-mail via la ligne de commande et cela résout le problème:

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

Et un autre problème concerne votre succursale. Si vous créez une autre branche à côté de maser et essayez de pousser cette branche, ce problème peut se produire. Dans mon cas, j'ai commencé à pousser pour maîtriser et j'ai trouvé la solution.

Asadut Zaman
la source
1

J'ai eu le même problème et la solution était assez simple. J'avais la mauvaise adresse e-mail pour la configuration de messagerie globale

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

Assurez-vous simplement que l'e-mail ci-dessus et l'e-mail de votre compte GitHub sont identiques

Hadi Mir
la source
1

J'ai résolu le problème similaire en utilisant le nom d'utilisateur du profil GitHub comme nom d'utilisateur git dans mon environnement local.

A titre d'exemple,

https://github.com/susithrj

définissez le nom d'utilisateur global comme susithrj dans votre configuration git locale.

git config --global user.name "susithrj"

SRJ
la source
0

J'ai dû restaurer mon ordinateur portable récemment et j'ai oublié de reconfigurer mon email sur git. Le nom d'utilisateur de mon ordinateur portable ressemble à celui de mon git, donc je pensais aveuglément que mes commits étaient correctement attribués. Comme publié, vous pouvez modifier vos paramètres de messagerie globaux. Cependant, si vous souhaitez corriger les commits attribués de manière manquée sur votre projet, vous pouvez utiliser ce script pour créer un alias gcaque vous pouvez exécuter dans le répertoire de votre projet git pour changer la paternité de vos commits passés.

Depuis votre ~annuaire, ajoutez:

$ 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

puis dans votre répertoire de projet git, exécutez gca <git username> <git email address>

La tête haute! Je n'ai utilisé cela que dans mes propres projets personnels où j'ai été le seul à commettre. Je n'ai pas eu l'occasion de le tester avec des projets de groupe, alors procédez avec prudence.

Lockjohn
la source
0

J'ai vérifié la section / l'onglet "Insights" de mon référentiel, et au lieu de mon utilisateur actuel, il y avait un utilisateur anonyme (qui était aussi moi), j'ai donc changé la configuration de messagerie de mon ordinateur actuel pour celle avec laquelle j'utilise github comme décrit ci-dessus.

Insigths

bsh
la source
0

Vous pouvez garder votre e-mail privé tout en continuant à afficher les contributions dans votre calendrier. Vous pouvez choisir de garder votre adresse e-mail privée dans les paramètres de messagerie github et utiliser l' adresse e-mail github noreply dans votre configuration git.

git config user.email "[email protected]"

Remarque

Pour moi, j'avais choisi de garder mon email privé à partir des paramètres de messagerie github . Cela m'a donné une erreur

Your push would publish a private email address.

tout en essayant de pousser vers mon repo. J'ai supprimé l'e-mail. Pousser après cela a réussi mais les contributions n'ont pas été enregistrées dans mon calendrier.

Comme mentionné par GitHub dans la page des paramètres de messagerie

Nous supprimerons votre e-mail de profil public et utiliserons [email protected] lors de l'exécution d'opérations Git basées sur le Web (par exemple des modifications et des fusions) et l'envoi d'e-mails en votre nom. Si vous souhaitez que les opérations Git en ligne de commande utilisent votre e-mail privé, vous devez définir votre e-mail dans Git .

Bitto Bennichan
la source
0

J'ai eu le même problème, le mien a été résolu en définissant l'email

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

J'espère que cela t'aides.

Jonathan Mendoza
la source
0

Le «Calendrier des contributions» ou «Aperçu des activités» sur github n'enregistre que les commits liés à l'adresse e-mail enregistrée dans le compte github.

Changer l'adresse e-mail pour tous les futurs commits

Comme déjà noté par beaucoup d'autres dans ce fil, recherchez l'adresse e-mail actuelle enregistrée localement en:

git config user.email

S'il ne correspond pas au mail sur github, changez en utilisant:

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

Cela modifiera globalement l'adresse e-mail de tous les futurs commits mais n'affectera pas la "Vue d'ensemble des contributions" pour les précédents. Vous pouvez suivre les documents officiels pour une description détaillée.

Modifiez l'adresse e-mail pour mettre à jour la vue d'ensemble des commits passés

Vous vous rendez compte que bon nombre de vos validations passées n'ont pas été correctement enregistrées dans la "Présentation des contributions" de Github: entrez la description de l'image ici

Pour changer cela, vous pouvez modifier les informations sur l'auteur des référentiels en suivant les étapes expliquées dans la documentation officielle de github .

Un bref résumé:

  1. Ouvrir git bash
  2. Cloner un référentiel nu

    git clone --bare https://github.com/user/repo.git
    cd repo.git
    
  3. Collez le code suivant dans la console git bash après avoir modifié les variables OLD_EMAIL, CORRECT_NAMEet 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. Appuyez sur Entrée pour exécuter le script

  5. Poussez l'historique corrigé vers github
    git push --force --tags origin 'refs/heads/*'
    

Cette procédure doit mettre à jour la "Présentation des contributions" et afficher désormais également les validations qui n'étaient pas affichées auparavant: entrez la description de l'image ici

Avertissement : cette action est destructrice pour l'historique de votre référentiel. Si vous collaborez sur un référentiel avec d'autres personnes, il est considéré comme une mauvaise pratique de réécrire l'historique publié. Vous ne devez le faire qu'en cas d'urgence.

Gin tonic
la source
0

Assurez-vous d'utiliser l'indicateur d'utilisateur. Par exemple git push -u origin au lieu de git push

Upulie Han
la source