2016-03-13 218 views
0

我注意到Git中的奇怪行爲隨時隨地出現,因此我成功配置了我的SSH密鑰以便與Bitbucket存儲庫連接,而無需任何登錄名或密碼,因此我可以拉取我的存儲庫,當我想提交它再次表明我這個Git無法連接到SSH

*** Please tell me who you are. 

Run 

    git config --global user.email "[email protected]" 
    git config --global user.name "Your Name" 

to set your account's default identity. 
Omit --global to set the identity only in this repository. 

fatal: empty ident name (for <[email protected](none)>) not allowed 

這是太奇怪了,如果事情是錯的SSH密鑰我又如何能拉我的資料庫,也一切正常,除了commiting

+0

這與SSH無關。你只是以不同的用戶身份登錄,或者你已經刪除了你的全局git配置,或者類似的東西。按照您的要求配置您的姓名和電子郵件。 –

+0

是的,但我不會用我的用戶名和電子郵件地址登錄,這是使用SSH避免輸入顯式憑證的優勢。 –

+0

Git配置完全獨立於SSH認證,它只是Git將用於附加到您的提交的身份。 –

回答

1

的Git做不使用任何類型的任何用戶名密碼組合。
它所要求的是設置用戶名和電子郵件,因爲這些信息是提交blob的一部分。

enter image description here

的用戶名和電子郵件是最小和唯一的信息的Git需要你設置。

當使用中央存儲庫這樣的存儲庫的管理員可以決定哪些Transfer protocols他支持,如果服務器支持ssh喲將需要使用SSH密鑰,用於https,你將需要使用用戶/密碼組合來驗證自己。

在你的情況下,你只需要設置用戶名&電子郵件與git提交一起使用。


回到你原來的評論:

這是太奇怪了,如果事情是錯的SSH密鑰我又如何能拉我的資料庫,也一切正常,除了commiting

我希望你現在明白爲什麼你需要這些信息。
您可以在上圖中看到提交需要什麼。

0

這個錯誤是因爲該郵件沒有正確的格式:

錯== >>用戶名@你的-PC(無)>),它不具備的.com或.net

如果您使用的是像Linux這樣的服務器,請確保主機名具有域名格式,如mydomain.com或myhostname.net