git的一系列命令中像 clone、pull、push等與程式碼庫發生網路互動時,可能報下面的錯誤資訊
fatal: remote error: CAPTCHA required Your Stash account has been marked as requiring a CAPTCHA to be solved before you may login again. This is typically caused by too many attempts to login with an incorrect password. The required CAPTCHA prevents your SCM client from accessing Stash until it is solved, even if you enter your password correctly. If you are currently logged in to Stash via a browser you may need to logout and then log back in in order to clear the CAPTCHA.
從報錯資訊來看,大概的意思是:“你的容器賬號在登陸之前需要進行驗證,這是因為登陸時太多的密碼錯誤造成的。雖然你當前輸入的密碼正確,但是這個驗證碼拒絕客戶端訪問容器直到這個問題解決。”
這個問題如何解決呢?
這裡面提到了一個單詞“ CAPTCHA”意思是驗證。
上面提到的“驗證”是否就是圖中的驗證碼概念呢?
我們來邏輯推測一把。
以clone為例子,git執行clone命令,首先需要有可以到程式碼庫中訪問程式碼的權利。我們平時在網頁登陸時一般都是通過填寫使用者名稱+密碼。不過當網頁在登陸時密碼連續多次輸入錯誤,下面就會出現“驗證碼”圖片讓我們點選。我寫到這裡是不是恍然明白了什麼?沒錯,這個“ CAPTCHA”就是在git訪問程式碼庫時出現的“驗證碼圖片”。驚不驚喜!意不意外!原來我們平時使用的命令走的路子也是和我們手動頁面操作一樣。
知道這個原因後,我們修改報錯就迎刃而解了。這裡我們採用最直觀,看起來與這個報錯不相關的方式。“1.開啟登陸網頁,輸入正確的使用者名稱+密碼登陸進去。2.退出登陸。重新再輸入正確的使用者名稱+密碼登陸進去。”如此這兩次操作,就可以保證再次在頁面登陸時,不會彈出“驗證碼圖片”。此時再執行git clone命令。報錯消失。順利拿到了想要的程式碼。