Condividi tramite


Funzionamento dei nomi in Git

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Quando si esegue il commit nel repository locale, Git include il nome e l'indirizzo di posta elettronica come parte del commit. Questo comportamento può talvolta causare confusione. Il nome e il messaggio di posta elettronica nei commit potrebbero non corrispondere all'identità usata per accedere a un host Git come Azure Repos. Potresti aver effettuato commit sotto diversi nomi e indirizzi email, anche se sei stato l'autore per ciascuno di essi.

Perché il tuo repository mostra più nomi per te?

Hai cercato il tuo nome nella pagina Cronologia e hai trovato più voci leggermente diverse per te? Probabilmente ti sei chiesto come è successo.

La risposta è semplice: il nome è stato registrato in modo diverso tra i commit. Forse si dispone di due computer, uno configurato con il nome completo (ad esempio, Frances) e l'altro configurato con un nome alternativo (ad esempio, Frank). Oppure si dispone di un computer domestico connesso all'account Microsoft ( ad esempio , frances@outlook.com) e un computer aziendale connesso all'istanza dell'ID Microsoft Entra del datore di lavoro (ad esempio, frances_t@fabrikam.com). È anche possibile modificare le impostazioni nel tempo, quindi i commit meno recenti hanno un nome e i commit più recenti hanno un altro.

Dove Git riceve il nome e l'indirizzo di posta elettronica?

Git archivia il nome e l'indirizzo di posta elettronica nel file di configurazione. Questo file può essere a livello di sistema, globale per l'account nel computer o locale in un repository. Se Git non riesce a trovare un nome e un messaggio di posta elettronica in una di queste posizioni, prova a ottenere queste informazioni dal sistema operativo. Git include i dettagli nel commit per contrassegnare l'utente come autore di tale commit.

Quando si configura Git per la prima volta in un nuovo computer, è possibile creare un commit usando le informazioni "best effort" di Git. Git richiede di impostare un nome esplicito e un indirizzo di posta elettronica e usa le nuove impostazioni per i commit successivi. Questa modifica è spesso il motivo per cui un autore ha più nomi.

Da dove Azure DevOps Services ottiene il tuo nome e indirizzo email?

I dettagli in Azure DevOps Services provengono dal profilo. Il profilo è stato originariamente popolato dai dettagli nell'account Microsoft o nell'account Microsoft Entra, ma è possibile modificare manualmente questi dettagli.

Quando si modifica un file sul Web o si completa una richiesta pull, Azure Repos fornisce i dettagli del profilo come autore del commit. Questa è un'altra opportunità per specificare il nome o l'indirizzo di posta elettronica in modo diverso.

Come si modificano le informazioni in Git e Azure DevOps Services?

In Git è possibile eseguire i comandi seguenti per modificare il nome e l'indirizzo di posta elettronica. Sostituite i valori di esempio con le vostre informazioni.

git config --global user.name "Frances Totten"
git config --global user.email "frances_t@fabrikam.com"

In Azure DevOps Services è possibile aggiornare il profilo selezionando l'immagine nell'angolo in alto a destra e quindi selezionando Profilo personale.

Come si modifica l'autore visualizzato per i commit precedenti?

Se è stata apportata una singola modifica in locale e l'autore non è corretto, è possibile modificare il commit con le nuove informazioni sull'autore. Assicurarsi di formattarlo come Name <email>, come illustrato nell'esempio seguente.

git commit --amend --author="Frances L. Totten <frances_t@fabrikam.com>"

Nella maggior parte degli altri casi, è consigliabile mantenere le informazioni sull'autore esistenti. Per modificare il nome o il messaggio di posta elettronica di un autore, è necessario creare un nuovo commit. Quando si modifica un commit, è necessario modificare anche tutti i commit successivi discendenti da tale commit.