![](/img/trans.png)
[英]Unable to clone/pull/push a repository with Git for Windows 2.14 over SSH
[英]Git (SSH) hangs during clone/push/pull
每當我嘗試通過 SSH 使用git
(例如clone
、 pull
或push
)執行操作時,git 客戶端似乎會無限期掛起並超時(我讓它運行了半小時但無濟於事)。 我已經加載了我的 SSH 密鑰(使用 BitBucket)。 我能夠通過 HTTPS 執行任何我需要的操作,而 SSH 是唯一似乎會中斷的東西。
這是嘗試拉取的一些控制台輸出
$ GIT_TRACE=1 git pull
16:44:05.679911 git.c:344 trace: built-in: git 'pull'
16:44:05.681453 run-command.c:334 trace: run_command: 'fetch' '--update-head-ok'
16:44:05.686650 exec_cmd.c:120 trace: exec: 'git' 'fetch' '--update-head-ok'
16:44:05.697849 git.c:344 trace: built-in: git 'fetch' '--update-head-ok'
16:44:05.703211 run-command.c:334 trace: run_command: 'ssh' '-p' '7999' 'git@git.myCompany.com' 'git-upload-pack '\''/ei/myProject.git'\'''
任何人都知道會發生什么?
7999 是一個非標准端口,很可能會被阻塞。
如果端口 22 沒有被阻塞(這是一個很大的 if),那么您可以考慮使用 ssh 隧道:
ssh -R 7999:localhost:22 git@git.myCompany.com
如果你有一台 git 正在工作的機器,你可以將非工作機器的 ssh 配置文件與工作機器進行比較。
ssh 配置文件位於/etc/ssh/ssh_config
就我而言,git 在 Windows 上運行良好,但在 WSL2 上運行良好。 在 Windows 中,端口設置為 22,而在 WSL2 中設置為 2200。我將其更改為 22,並且能夠繼續在 wsl2 上使用 git。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.