訓練
認證
Microsoft Certified: DevOps Engineer Expert - Certifications
此認證可測量您完成下列技術工作的能力:設計和實作流程與通訊、設計和實作原始檔控制策略、設計和實作組建和發行管線、開發安全性和合規性計劃,以及實作檢測策略。
本文討論當您嘗試執行 Git 複製或 Git 推送函式至 Azure DevOps 存放庫時可能發生的問題。
適用於: Azure DevOps Services、Azure DevOps Server
當您嘗試在 GitHub 中複製或推送存放庫時,Proxy 設定、SSL 憑證或認證快取的一些問題可能會導致 Git 複製作業失敗。
若要識別問題的原因,請遵循下列步驟:
啟用詳細資訊追蹤,以設定您所執行 Git 命令的詳細資訊追蹤層級。
依序設定下列變數,並針對每個集合變數執行 Git 命令,以取得錯誤的詳細資訊。
GIT_TRACE=1
GIT_TRACE_PACKET=1
GIT_TRACE_CURL_NO_DATA=1
GIT_CURL_VERBOSE=1
這些變數的追蹤集合層級提供與下列範例類似的詳細資訊,說明造成問題的錯誤:
若要深入瞭解 Git 環境變數,請參閱 Git 內部 - 環境變數。
如果您使用 Proxy 伺服器,但 Git 組態未設定為透過 Proxy 伺服器連線,您可能會看到 407 或 502 錯誤訊息。 無法透過 Proxy 伺服器建立連線時也會發生此問題,而且您會看到類似「無法存取 <your github url
>:」或「無法解析主機 github.com
」的錯誤。
執行 git config --list
以取得系統上所有 Git 組態的清單,並檢查 Proxy 伺服器是否正在使用中。
如果您看到多個組態檔,例如存放庫或系統根目錄,請執行 git config --list --show-origin
命令,然後查看 Git 擷取組態信息的路徑。
如果您在組態清單中找不到 Proxy 伺服器,請執行 git config --global
命令以在組態中設定 Proxy 伺服器。
例如: http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
。
若要針對某些 URL 使用特定的 Proxy,請在 Git config 子區段中設定 Proxy URL,類似 http.<url\>.key notation:
下列範例:
git config --global
http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
如果 Proxy 使用 https
,請使用上述範例中的 Proxy URL 設定 Git 組態 https
。 否則,請保留 http
。
如需 Git 組態的詳細資訊,請參閱 Git 設定檔。
如果 Git 使用本機自我簽署憑證,您可能會看到「SSL 憑證問題:無法取得本機簽發者憑證」錯誤。
如果您已安裝本機 Team Foundation Server (TFS),而且您想要停用 Git 執行的 TLS/SSL 驗證,請執行下列命令:
git config --global http.sslVerify false
如果您想要繼續 Git 執行的 TLS/SSL 驗證,請遵循下列步驟,在本機 Git 中新增跟證書:
將跟證書導出為Base-64編碼的 X.509 (。CER) 檔案,請遵循下列步驟:
開啟 Microsoft Edge 瀏覽器,然後在網址列中輸入 TFS 伺服器的 URL, 例如 https://<servername>/tfs
。
在網址列上 ,選取圖示,然後選取 [ 連線是安全的 ] 連結。
選取圖示以開啟 [認證] 視窗。
在 [ 認證路徑] 索引標籤中,選取左上方的憑證,也就是跟證書。
選取 [檢視憑證 ] 以開啟 跟證書的 [憑證 ] 視窗。
在 [詳細數據] 索引標籤上,選取 [複製到檔案...]。
在 [ 憑證導出精靈] 上,選取 [下一步],然後選取 [Base-64 編碼 X.509]。要匯出的 CER) 檔案格式。
將跟證書儲存在本機磁碟上。
依照下列步驟,將 Git 設定為使用 Git 憑證存放區的本機目錄:
移至本機磁碟上的 C:\Program Files\Git\bin 路徑,然後製作 curl-ca-bundle.crt 檔案的復本。
注意
msysgit
) 時, curl-ca-bundle.crt 檔案會儲存在您的 Program Files 目錄中。 此檔案是git.exe的跟證書存儲,其中包含 Git 信任的所有憑證。\n
) 行尾。將 curl-ca-bundle.crt 檔案複製到您的使用者配置文件目錄 (C:\Users\<yourname>)。 或執行類似範例的 copy "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt" C:\Users\<yourname>
複製命令。
執行下列命令來設定 Git,以從 Windows 用戶端使用憑證儲存的本機複本:
git config --global http.sslCAInfo C:/Users/<yourname>/curl-ca-bundle.crt
遵循下列步驟,將導出的跟證書新增至 Git 證書儲存的本機複本:
在記事本中開啟導出的跟證書,然後將整個內容複製到剪貼簿。
移至文本編輯器中的 C:/Users/<yourname>/curl-ca-bundle.crt 路徑,開啟 curl-ca-bundle.crt 檔案。
提示
您可以使用 unix2dos 工具,將檔案中的行尾端從 \n 變更為 \r\n ,並且能夠在記事本中開啟檔案。
在結尾新增跟證書的項目,然後將憑證內容貼到 curl-ca-bundle.crt 檔案中。
儲存 curl-ca-bundle.crt 檔案。
執行複製作業,以確認 SSL 錯誤是否已解決。
如果變更過帳戶名稱或網域密碼,或是您碰到驗證錯誤的情況,可能就有驗證和認證快取的問題。
若要解決驗證錯誤或認證快取問題,請從遵循 疑難解答檢查清單 開始取得錯誤資訊,然後遵循下列步驟:
git config --list
執行 命令,然後檢查您是否使用 Git 認證管理員 (GCM)。 credential.helper
如果 設定為管理員,則 GCM 正在使用中。git config --global --unset credential.helper
執行 命令以取消設定 GCM。git config credential.helper manager
執行 命令以將 GCM 設回。 或者,請遵循下列步驟,先刪除認證快取:git config credential.helper manager
命令來設定 GCM。注意: 根據適用於 Windows 的 Git 版本, credential.helper
值會有所不同。 如需詳細資訊,請參閱下表︰
適用於 Windows 的 Git 版本 | 適用於 Windows 的 Git 認證管理員 \(英文\) | Git Credential Manager Core | Git 認證管理員 (從 GCM Core 重新命名) |
---|---|---|---|
2.27 和更早版本 | manager |
||
2.28 至 2.33.0 | manager (選用) |
manager-core (選擇性) |
|
2.33.1 至 2.34.0 | manager-core |
||
2.34.1 至 2.38 | manager-core |
||
2.39 和更新版本 | manager |
訓練
認證
Microsoft Certified: DevOps Engineer Expert - Certifications
此認證可測量您完成下列技術工作的能力:設計和實作流程與通訊、設計和實作原始檔控制策略、設計和實作組建和發行管線、開發安全性和合規性計劃,以及實作檢測策略。
文件
使用認證管理員連線到您的 Git 存放庫 - Azure Repos
使用認證管理員向 Azure Repos 和 TFS Git 存放庫進行驗證
瞭解如何使用 SSH 金鑰向 Azure Repos Git 存放庫進行驗證。
選擇 HTTPS、SSH 和個人存取令牌,以安全地登入您的 Git 存放庫。