事件
名稱在 Git 中的運作方式
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
當您認可至本機存放庫時,Git 會在認可中包含您的名稱和電子郵件位址。 此行為有時會造成混淆。 認可上的名稱和電子郵件可能不符合您用來登入 Azure Repos 等 Git 主機的身分識別。 您可能在數個名稱和電子郵件地址下認可,即使您是每一個位址的作者也一樣。
您是否已在 [ 歷程記錄 ] 頁面上搜尋您的名稱,並自行找到多個稍微不同的專案? 你可能想知道它是如何發生的。
答案很簡單:您的名稱在認可之間以不同的方式記錄。
也許您有兩部計算機,一部計算機已設定完整名稱(例如,Frances),另一部計算機則設定為昵稱(例如 Frank)。
或者,您可能有一部連接到 Microsoft 帳戶的主電腦(例如 frances@outlook.com
),以及連接到雇主 Microsoft Entra ID 實例的工作電腦(例如, frances_t@fabrikam.com
)。
您甚至可以隨著時間變更設定,因此較舊的認可有一個名稱和較新的認可有另一個。
Git 會將您的名稱和電子郵件地址儲存在其組態檔中。 此檔案可以位於系統層級、您電腦上的帳戶全域,或存放庫的本機。 如果 Git 在上述任何位置找不到名稱和電子郵件,它會嘗試從您的作業系統取得此資訊。 Git 會在認可中包含詳細數據,以將您標示為該認可作者。
當您第一次在新計算機上設定 Git 時,您可以使用 Git 的「最佳努力」信息來建立認可。 Git 會提示您設定明確的名稱和電子郵件位址,並針對後續認可使用新的設定。 這項變更通常是一位作者有多個名稱的原因。
Azure DevOps Services 中的詳細數據來自您的 配置檔。 您的配置檔最初是從 Microsoft 帳戶或 Microsoft Entra 帳戶中的詳細數據填入,但您可以自行變更這些詳細數據。
當您在 Web 上編輯檔案或完成提取要求時,Azure Repos 會以認可作者身分提供設定檔詳細數據。 這是以不同方式指定您名稱或電子郵件位址的另一個機會。
在 Git 中,您可以執行下列命令來變更您的名稱和電子郵件位址。 將範例值取代為您的資訊。
git config --global user.name "Frances Totten"
git config --global user.email "frances_t@fabrikam.com"
在 Azure DevOps Services 中,您可以選取右上角的圖片,然後選取 [我的配置檔] 來更新您的設定檔。
如果您在本機進行單一變更,而且該變更有錯誤的作者,您可以使用新的作者資訊來修改該認可。 請務必將它格式化為 Name <email>
,如下列範例所示。
git commit --amend --author="Frances L. Totten <frances_t@fabrikam.com>"
在其他大部分情況下,最好保留現有的作者資訊。 若要變更作者名稱或電子郵件,您必須建立新的認可。 當您變更認可時,從該認可遞減的所有後續認可也必須變更。