該問題已更新,請到點擊此處進行解決跳轉: fatal: Authentication failed (二)
一、前言
我們在公司做項目,很多時候會遇到這個問題:Git failed with a fatal error. Authentication failed for ‘ http// xxx......’
說實話,這個問題很惡心,反正我在百度和 stack overflow 找了好久,終於找到了,我原本是想把關於這個問題的 百度出來的解決方案,網頁能顯示的全部看一遍的。反正這問題我是一定要解決,最后解決了,寫這篇文章,希望可以給大家提供好的方案。
參考資料最初來源: stackoverflow
二、問題產生原因
因為我們訪問的是不公開的項目,只為公司的開發團隊內部人員所知,需要密碼才可以訪問。雖然我們可以通過 用戶名 和 密碼登陸 到代碼倉庫,但我們下拉時項目是,用戶名和密碼是沒有包含在下拉的 URL 中,所以就會出現 Authentication failed (身份驗證失敗)這個問題。而不是在其他解決方案中的設置 UserName 和 UserEmail 。
三、解決方案
這里有兩種解決方案,第一種是在克隆的 URL 中輸入我的驗證信息 用戶名和密碼。
第一種解決方案:
git clone http://username:password@projectUrl
這里注意:如果你的 username 或者 password 中含有 ”@“ 符號,可以考慮換一個密碼。默認會將 @后面當中 url 來使用。
實例如下:我這里使用的是 git bush 直接克隆項目。 1 代表用戶名、2 代表密碼 、3代表克隆的url
示例如下:
git clone http://zxx:123456@github.com/gzbitzxx/xxx.git
這是第一種,如果你感覺每次都要輸入用戶名和密碼在 URL 中然后感覺不爽,那你就用第二種。
第二中解決方案:
在自己電腦的home目錄下創建一個文件:操作系統 window 就創建一個 _netrc 的文件,linux 就創建一個 .netrc 文件。
我這里與 windows 系統為例:在 _netrc 文件中寫
machine 目標服務器的域名(如 www.baidu.com )
login 你用於訪問服務器的用戶名
password 你用於訪問的密碼
然后就可以不在 url 中輸入 用戶名和密碼來克隆。如果不起作用,重啟電腦一下。
實例如下:home 路徑就是你當前用戶使用的路徑,我的當前路徑如下,我的文件就是放在這個地方的。
文件中的內容示例如圖所示下:
然后就可以去 vs 中,鏈接項目然拉取項目了。
四、總結
遇見問題不要怕,勇敢面對就對了。如果可以,幫忙點贊,讓更多的朋友早日解決這個問題!