Tracciamento dei contributi dei contributori che non usano git

4

Ho un repository git centrale che si trova su un server. Ho molti contributori che non sono esperti di tecnologia, non hanno accesso al server e non sanno nulla di git. Ma sono in grado di contribuire tramite il lato web del progetto. Ognuno di loro accede tramite un browser Web e contribuisce al progetto.

Ho impostato le cose in modo che, quando accedono, i contributi di ciascun utente vengano trasformati in un repository clonato sul server specifico per quell'utente. Periodicamente, accedo al server, visito ciascuno dei loro repository e faccio un git diff per assicurarmi che non abbiano fatto nulla di male. Se tutto va bene, commetto i loro cambiamenti e li spingo al repository centrale.

Ovviamente ho bisogno di guardare manualmente le loro modifiche in modo da poter aggiungere un messaggio di commit appropriato. Ma vorrei anche tenere traccia di chi ha apportato le modifiche. Sto facendo il commit, e io (e il server web) sono gli unici utenti che stanno effettivamente scrivendo qualcosa sul server.

Potrei tenerne traccia nei messaggi di commit. Anche se questo mi sembra sbagliato, se questa è la mia unica opzione, c'è un modo per far sì che il repository clonato di userx includa sempre "userx:" prima di ogni messaggio di commit che aggiungo, in modo da non dover ricordare a me stesso quale repo dell'utente Sono in?

O ancora meglio, c'è un modo facile per me di fare il commit, ma in modo tale da accreditare all'utente il cui repository clonato in cui mi trovo?

    
posta alex.jordan 18.08.2014 - 02:14
fonte

1 risposta

10

In git ci sono due nomi associati a un commit. Un "autore" e un "committer". Nel tuo caso, vuoi essere il committer e impostare di conseguenza "author" utilizzando l'opzione git commit --author .

$ git commit --author "John Doe <[email protected]>" file1.dat file2.dat
$ git log --pretty=full
commit 46963e65f337fa08cfbebcd09ddf248474d49212
Author: John Doe <[email protected]>
Commit: Johannes <[email protected]>

     Sample commit

In alternativa, se lo spazio di lavoro è specifico per l'utente, è possibile configurare semplicemente il nome utente di conseguenza

$ git config --local --add user.name "John Doe"
$ git config --local --add user.email [email protected]

quindi vengono tracciati come committer e autore per tutti i commit da quel clone.

    
risposta data 18.08.2014 - 02:57
fonte

Leggi altre domande sui tag