Il GitHub rende gli indirizzi e-mail visibili e la rappresentazione possibile? [chiuso]

1

Ho l'impressione che proteggere la privacy degli utenti sia un "grosso problema", anche se solo in modo dichiarativo. Esempio: discussione su meta su e- indirizzi email su SO .

Mentre mi aspetto che prima o poi il mio indirizzo e-mail possa fuoriuscire da qualche database o lista di contatti compromessi, mi aspetterei comunque dei portali a cui fornisco questi dati per cercare almeno di nasconderlo al pubblico.

Perché allora con GitHub posso semplicemente andare al file .patch di un commit? Da GitHub :

Commits must be made with an email address that has been added to your GitHub profile in order to appear on your contributions graph. You can check the email address used for a commit by adding .patch to the end of a commit URL, e.g. https://github.com/octocat/octocat.github.io/commit/67c0afc1da354d8571f51b6f0af8f2794117fd10.patch:

From 67c0afc1da354d8571f51b6f0af8f2794117fd10 Mon Sep 17 00:00:00 2001
From: The Octocat <[email protected]>
Date: Sun, 27 Apr 2014 15:36:39 +0530
Subject: [PATCH] updated index for better welcome message

Perché permetterebbero anche una rappresentazione? La risposta che danno qui è:

Because Git is a distributed version control system, GitHub must use the commit email address to assign attribution. When you push a repository to GitHub.com it may contain one or more commits, some of which you may not have authored. For example, imagine a scenario where you collaborated with a number of people on a git repository before you made your first push of that repository to GitHub.com. This push would contain a number of commits from several authors. It would be incorrect to assign all of the commits to the person doing the push, so we use the commit log email addresses to assign attribution on GitHub.com. Each subsequent push to GitHub uses this same logic to assign attribution of commit authors.

Perché deve utilizzare gli indirizzi e-mail? Non riescono a offuscarli? Non ci può essere una funzionalità che è necessario per consentire esplicitamente a un determinato repository di collegare una e-mail di commit con il proprio account? Dare semplicemente l'opzione di impersonare è un'alternativa accettabile?

Forse sono molto confuso qui a essere nuovo a GitHub e programmare da solo, ma sembra che GitHub sia un deposito pubblico di e-mail e lo trovo piuttosto scioccante. Inoltre se hai un indirizzo e-mail puoi verificare se qualcuno lo usa su GitHub. Se hai un nome utente collegato puoi aspettarti quasi che lo stesso nickname possa essere usato altrove (ad es. SO) poiché, penso, non ci sono buone pratiche raccomandate sull'uso di nomi utente variabili su portali diversi (come avviene per le password).

Quindi GitHub sta facendo una pratica comunemente accettata?

    
posta Community 22.02.2017 - 21:29
fonte

1 risposta

3

Why then with GitHub I can simply go to .patch file of a commit?

Non c'è alcun vantaggio in termini di sicurezza nel nascondere o nascondere gli indirizzi e-mail da questa interfaccia .patch : chiunque volesse gli indirizzi e-mail di autori o committer in un progetto pubblicamente accessibile potrebbe vederli comunque solo clonando il repository. Inoltre, è importante che il file di patch prodotto da questa interfaccia sia utilizzabile come input per git am . Cioè, se si ottiene tale patch, inoltrandola a qualcun altro (magari attraverso una mailing list), e qualcun altro lo applica alla propria copia di un repository con git am , dovrebbe generare un commit con gli stessi metadati al altra estremità, quasi come se avessi fatto git cherry-pick da un ramo all'altro. I nomi dell'autore e del committente, gli indirizzi e-mail e le date, così come il messaggio di commit, sono le parti importanti di quei metadati.

Why it must use the e-mail addresses?

Bene, puoi certamente timbrare qualsiasi nome d'autore e indirizzo email che vuoi su git commit (nulla può fermarti), e puoi spingere quei commit a remoti (incluso GitHub), ma non puoi cambiarli dopo il fatto (senza invalidare il commit e tutti i commit downstream). Ecco come funziona git : i metadati di commit entrano nel calcolo dello SHA1 che diventa l'identificatore del commit.

Saresti felice se tutte le tue pubblicazioni avessero elencato Your Name <[email protected]> come autore? Ricorda, non puoi in seguito in qualche modo de-offuscare quello dopo e mantenere invariato lo SHA1 del commit.

Avere qualcosa in un software di controllo della versione che "custodisce" l'identità degli autori è ampiamente incompatibile con DVCS. Se ti serve, probabilmente stai cercando un sistema di controllo della versione centralizzato (CVCS).

    
risposta data 22.02.2017 - 22:55
fonte

Leggi altre domande sui tag