Die Anleitungen, die ich bisher auf Git gelesen habe, besagen, dass ich in die Konfiguration gehen und meinen Namen und meine E-Mail-Adresse angeben sollte. Sie arbeiten nicht aus; sie sagen nur, es zu tun.
Warum braucht Git meine E-Mail-Adresse? Und was noch wichtiger ist: Wenn ich mein Repo öffentlich zugänglich mache, beispielsweise über GitHub, ist meine E-Mail-Adresse dann für alle sichtbar (einschließlich Spambots)?
Antworten:
Git verwendet Ihre E-Mail-Adresse, um Sie zu identifizieren und andere Aufgaben zu erledigen (z. B. ein Tag mit einem GPG-Schlüssel zu signieren). Ihre E-Mail-Adresse wird zusammen mit dem von Ihnen angegebenen Namen als Teil Ihrer Identität in Festschreibungsprotokolle usw. eingebettet. Das Feld "Autor" in einem Festschreibungsprotokoll wird beispielsweise wie folgt angezeigt:
Die Informationen stehen also jedem zur Verfügung, der eine Kopie des Repos besitzt, da sie als Kennung fungieren.
Ihre E-Mail-Adresse ist für Spambots wahrscheinlich nicht sichtbar, es sei denn, Sie verwenden Gitweb oder einen Dienst wie GitHub, um Ihr Repo über eine Weboberfläche verfügbar zu machen (dies reicht jedoch nicht aus, um es ins Internet zu stellen).
Ich nehme an, Sie könnten eine gefälschte E-Mail-Adresse eingeben oder eine leere Zeichenfolge oder ein Leerzeichen oder etwas anderes verwenden (ich glaube nicht, dass Git das Format oder die Gültigkeit der E-Mail überprüft), aber die E-Mail ist nützlich, wenn jemand, der das Repo klont, senden muss Sie einen Patch oder kontaktieren Sie in irgendeiner Weise.
quelle
Update April 2017
Siehe " Private E-Mails, jetzt privater "
Hinweis: wie unten kommentiert von OREV , Git aussetzen nichts. GitHub , ein Hosting- Service für Git-Repositories , könnte.
Der Ort, an dem Sie Ihr lokales Git-Repo pushen, kann Metadaten verfügbar machen.
Hinweis: Ab dem 9. August 2013 können Sie Ihre E-Mail-Adresse jetzt privat halten !
Dies gilt jedoch für webbasierte GitHub-Vorgänge: Die Commits enthalten weiterhin eine E-Mail-Adresse, die mit der für Ihr GitHub-Konto verwendeten identisch sein kann oder nicht.
Siehe unten, um auch diese (Git Commit) E-Mail zu "maskieren".
Wenn Sie Ihre von Ihrem Computer erstellten E-Mails ausblenden möchten, können Sie mit GitHub jetzt verschiedene E-Mail-Adressen registrieren : siehe dieses Handbuch .
Sie müssen Ihre (gefälschte) E-Mail noch in Ihrem lokalen Repo konfigurieren, bevor Sie zu GitHub zurückkehren, wenn Sie möchten, dass Ihre Commits wiedergegeben werden
Dann:
[email protected]
") und klicken Sie auf "Hinzufügen".Beachten Sie, dass:
quelle
git
.git
ist ein Open Source-Tool zur allgemeinen Versionskontrolle, während GitHub eine Website ist, auf der Sie eingit
Repository veröffentlichen können. GitHub hat nicht erstelltgit
, sie haben einfach eine sehr schöne Website erstellt, die gut damit funktioniert.GitHub hat einen Hilfeartikel mit dem Titel " Halten Sie Ihre E-Mail-Adresse privat" , der beginnt:
Das Handbuch enthält Schritte zum Konfigurieren von Git und GitHub für die Verwendung einer gefälschten Adresse.
quelle
Ja, die obigen Antworten sind korrekt. Wenn Sie jedoch normalerweise für alle Ihre Projekte dieselbe E-Mail-Adresse haben möchten, verwenden Sie den folgenden Befehl:
Sie können die .gitconfig-Datei auch in Ihrem Home-Verzeichnis im Benutzerbereich bearbeiten.
Sie können eine andere E-Mail-Adresse für ein bestimmtes Projekt angeben, indem Sie denselben Befehl ohne die globale Option ausführen.
Außerdem schlage ich vor, dass Sie Ihre E-Mail verschleiern können, wenn die Einreichungen in einen öffentlichen Bereich gehen:
Als Beispiel.
quelle
Millionen von GitHub-Commit-E-Mails sind durchgesickert
https://github.com/cirosantilli/all-github-commit-emails aus GitHub-Archiven extrahiert https://www.githubarchive.org Exporte verpflichten sich.
GitHub Archive ruft Daten von der Ereignis-API von GitHub ab: https://developer.github.com/v3/activity/events/types/#pushevent und exportiert sie stündlich in Google BigQuery, was das Abfragen erleichtert.
E-Mails werden zu Ereignissen des Typs angezeigt
PushEvent
.Ich glaube nicht, dass Commit-E-Mails irgendwo auf der Weboberfläche von GitHub angezeigt werden, daher ist jede Sammlung durch die Begrenzung der API-Rate begrenzt. TODO: Wie viel Zeit, um 1 Million E-Mails über die API von Grund auf neu zu sammeln?
Praktischer Weg, um eine Commit-E-Mail von jemandem mit der API zu erhalten
oder besuchen Sie: https://api.github.com/users/cirosantilli/events/public
Es gibt auch:
Die Git-Commit-Datenstruktur verfügt über ein explizites E-Mail-Feld für Autor und Committer
Dargestellt unter: Wie lautet das Dateiformat einer Git-Commit-Objektdatenstruktur?
Daher ist es klar, dass diese Informationen standardmäßig zu Commits hinzugefügt werden.
quelle
Ja, Ihre E-Mail-Adresse (wie in angegeben
git config user.email
) wird in Webschnittstellen wie GitWeb angezeigt. Außerdem kann jeder Ihre E-Mail-Adresse durch Klonen Ihres Repositorys erfahren, obwohl dies wahrscheinlich noch weit über Spambots hinausgeht. Niemand zwingt Sie jedoch, eine echte E-Mail-Adresse zu verwenden. Git legt automatisch eine erstellte E-Mail-Adresse fest, wenn keine angegeben wird. Auf meinem Computer ohneuser.email
zeigt es Commits von "Foo <foo @ Tochter. (Keine)>".quelle
Sie können den Namen des Autors, die E-Mail-Adresse usw. rückwirkend ändern. Beachten Sie, dass das Folgende Ihren Verlauf beschädigen kann.
Von hier genommen
quelle
GitHub hat einen Hilfeabschnitt zum Festlegen Ihrer E-Mail-Adresse.
Im Einzelnen heißt es:
quelle