Come richiedere contributi su GitHub


16

Un progetto su cui ho lavorato recentemente è passato dall'uso di Subversion self-host a git ospitato da GitHub per la sua soluzione di controllo del codice sorgente. Il mio nome appare negli commit, ma non vedo alcun modo di rivendicarli come "miei" dal mio account github.

So che ci deve essere un modo per farlo, dato che altri contributori hanno i loro contributi collegati a un account github, anche prima che si passasse all'utilizzo di github.

Qualcuno può dirmi come posso rivendicare questi cambiamenti come miei?


Forse devi aggiungere un .mailmapfile. Tuttavia, non sono sicuro che GitHub li rispetti.
asmeurer,

Ah, sembra che non lo sia.
asmeurer,

Risposte:


12

La corrispondenza dell'account utente GitHub per i commit viene effettuata tramite l'indirizzo e-mail associato al commit git da un lato (ovvero le user.emailimpostazioni) e quelli associati all'account GitHub dall'altro (vedere "Informazioni sugli indirizzi e-mail di commit" e "Perché i miei commit sono collegati all'utente sbagliato? " nella documentazione per l'utente di GitHub). Per abbinare i tuoi commit al tuo account, aggiungi semplicemente i loro indirizzi e-mail associati al tuo account GitHub .


2
Github applicherà questi al grafico dei contributi in modo retroattivo? Non sembra farlo.
Matt M.

1
@MattM. Non ne sono sicuro. In caso contrario, sembrerebbe un bug nella gestione del grafico da parte di GitHub. Segnala loro forse?
kopischke,

Per completezza, tali impostazioni errate dell'email sono probabilmente causate da una precedente modifica dell'email. In effetti, chi conoscerebbe tali Best practice per lasciare la tua azienda PRIMA? Github avrebbe dovuto farmi sapere tale conseguenza quando stavo cancellando la mia vecchia e-mail tramite la loro pagina di impostazione del profilo.
RayLuo,

0

Oltre alla risposta di Kopischke :

Poiché la corrispondenza viene eseguita per indirizzo e-mail - se l'e-mail nel commit corrisponde alla tua e-mail, lo farà automaticamente.

Idealmente, queste sostituzioni e correzioni via e-mail avrebbero dovuto essere eseguite durante la conversione da SVN a Git. Se si usano strumenti per convertirlo, ci sono anche opzioni per mappare ogni e-mail / utente su un'altra e-mail che verrà scritta nelle commit Git corrispondenti.

  • L'ho fatto per la mia organizzazione quando ho spostato progetti da SVN a Git, e ha funzionato alla grande. Anche se ho dovuto mappare manualmente molti indirizzi poiché gli script che ho creato per automatizzare non sono stati in grado di rilevare tutti i casi, ma tutto ha funzionato e ogni e-mail in ogni commit è stata associata a un utente dell'organizzazione.

Dopo che il progetto è stato caricato su GitHub (o qualsiasi altro servizio di hosting Git) o ​​condiviso con altri in qualsiasi modo - è molto più problematico:
è possibile modificare tutti gli commit retroattivamente localmente e fornire le informazioni desiderate (ovvero la nuova e-mail) , ma dovrai forzare il push del repository e tutti dovranno forzarlo.
È plausibile se il progetto ha una piccola quantità di membri / collaboratori e nessuna forcella, e quindi puoi raggiungerli ciascuno e organizzare quel cambiamento.

Non credo davvero che GitHub offra uno strumento del genere, ma, forse, se aggiungi l'e-mail nel commit come un'altra e-mail al tuo account GitHub - lo riconoscerà - vale la pena provare se possibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.