So beantragen Sie Beiträge bei GitHub

16

Ein Projekt, an dem ich gearbeitet habe, ist kürzlich von der Verwendung von selbst gehosteter Subversion zu GitHub-gehosteter Git für seine Versionsverwaltungslösung übergegangen. Mein Name erscheint in den Commits, aber ich sehe keine Möglichkeit, diese von meinem Github-Konto als "mein" zu bezeichnen.

Ich weiß, dass es eine Möglichkeit geben muss, dies zu tun, da andere Mitwirkende ihre Beiträge mit einem Github-Konto verknüpft haben, noch bevor der Schritt zur Verwendung von Github getan wurde.

Kann mir jemand sagen, wie ich diese Änderungen für mich beanspruchen kann?

TZHX
quelle
Möglicherweise müssen Sie eine .mailmapDatei hinzufügen . Ich bin mir allerdings nicht sicher, ob GitHub sie respektiert.
Asmeurer
Ah, es sieht so aus, als ob es nicht so wäre.
Asmeurer

Antworten:

12

Der Abgleich des GitHub-Benutzerkontos für Commits erfolgt über die E-Mail-Adresse, die dem GitCommit auf der einen Seite (dh Ihrer user.emailEinstellung) zugeordnet ist, und über die E-Mail-Adresse, die dem GitHub-Konto auf der anderen Seite zugeordnet ist (siehe "Informationen zum Festschreiben von E-Mail-Adressen" und "Warum sind meine Commits verknüpft?") an den falschen Benutzer? ” in der GitHub-Benutzerdokumentation). Fügen Sie einfach die dazugehörigen E-Mail-Adressen zu Ihrem GitHub-Konto hinzu, um Ihre Einzahlungen Ihrem Konto zuzuordnen .

kopischke
quelle
2
Wendet Github diese nachträglich auf das Beitragsdiagramm an? Scheint nicht so zu sein.
Matt M.
1
@MattM. Da bin ich mir nicht sicher. Wenn dies nicht der Fall ist, scheint mir das ein Fehler in GitHubs Umgang mit dem Graphen zu sein. Vielleicht melden?
kopischke
Der Vollständigkeit halber wird diese falsche E-Mail-Einstellung wahrscheinlich durch eine vorherige Änderung der E-Mail verursacht. In der Tat, wer würde solche Best Practices kennen, um Ihr Unternehmen VORHER zu verlassen? Github hätte mich über diese Konsequenz informieren sollen, als ich meine alte E-Mail über die Seite mit den Profileinstellungen löschte.
RayLuo
0

Zusätzlich zu kopischkes Antwort :

Da der Abgleich nach E-Mail-Adresse erfolgt, wird er automatisch durchgeführt, wenn die E-Mail-Adresse im Commit mit Ihrer E-Mail-Adresse übereinstimmt.

Im Idealfall sollten diese E-Mail-Ersetzungen und -Fixierungen während der Konvertierung von SVN zu Git durchgeführt werden. Wenn Sie Tools zum Konvertieren verwenden, gibt es auch Optionen, um jede E-Mail / jeden Benutzer einer anderen E-Mail zuzuordnen, die in den entsprechenden Git-Commits geschrieben wird.

  • Ich habe es für meine Organisation getan, als ich Projekte von SVN nach Git verschoben habe, und es hat großartig funktioniert. Ich musste zwar viele Adressen manuell zuordnen, da die Skripte, die ich zur Automatisierung erstellt hatte, nicht alle Fälle erfassen konnten, aber alles funktionierte und jede E-Mail in einem Commit einem Benutzer in der Organisation zugeordnet war.

Nachdem das Projekt auf GitHub (oder einen anderen Git-Hosting-Dienst) hochgeladen oder auf irgendeine Weise mit anderen geteilt wurde, ist es viel problematischer:
Es ist möglich, alle Commits rückwirkend lokal zu bearbeiten und die gewünschten Informationen (dh die neue E-Mail) bereitzustellen. , aber Sie müssen das Repo mit Gewalt drücken und jeder muss es mit Gewalt ziehen.
Es ist plausibel, wenn das Projekt eine kleine Anzahl von Mitgliedern / Mitwirkenden und keine Gabeln hat, und Sie dann jeden von ihnen erreichen und diese Änderung arrangieren können.

Ich glaube wirklich nicht, dass GitHub ein solches Tool anbietet, aber wenn Sie die E-Mail im Commit als eine weitere E-Mail zu Ihrem GitHub-Konto hinzufügen, wird dies erkannt. Wenn möglich, lohnt es sich, es zu versuchen.

Arieljannai
quelle