У меня была проблема с моим git так долго, я пробовал все, что мог, и это ничего не меняет.
Мой git хорошо работает локально, он работает с инициализацией, коммитами и т. д.
Проблема в том, что когда я иду делать что-то с github, так как делаю git clone
или git push
Он не работает ни с github CLI, ни с Git Bash, ни с cmd.
Любая из этих команд, которые я ввожу, просто выдает следующую ошибку:
fatal: unable to connect to github.com
github.com[0: 140.82.114.4]: errno=Unknown error
failed to run git: exit status 128
Я пробовал с некоторыми перспективами интернет-решения:
host
файл в C:\Windows\System32\drivers\etc
месте для локального DNS, возможна неправильная конфигурацияping
от github.com
сервера и команда tracert github.com
для просмотра трассировки запросов github, и она также работает хорошо.culr
для загрузки zip-файла основной ветки через cmd, и это РАБОТАЕТ, загружая zip-файл !!!:curl https://github.com/user/repo.git | git clone url:-
(конечно, заменив мои имена пользователей и репо)
unset
:git config --global --unset http.proxy
Я думаю, что проблема в конфигурации git, связанной с портом или сетью, но я ее не нахожу.
Первое, что нужно проверить, — это удаленный URL-адрес, используемый для вашего репозитория.
Даже без клонирования вы можете проверить подключение с помощью:
# HTTP URL:
git ls-remote https://github.com/me/myrepo
# SSH URL:
git ls-remote [email protected]/me/myrepo
Если один из них работает, используйте его для клонирования репозитория.
Проверьте также:
set
в CMD)set|grep -i proxy
)я решил проблему, я попробовал это решение но другим способом.
Добавление этого вручную в файл .gitconfig
, расположенный в каталоге %USERPROFILE%
:
[url "https://"]
insteadOf = ssh://
insteadOf = git://
потому что с командами cmd
:
git config --global url."https://".insteadOf git://
git config --global url."https://".insteadOf ssh://
это была неправильная настройка конфигурации.
Я думаю, что произошло то, что git пытался получить доступ к GitHub через ssh
, и порт, используемый для этого протокола, — 9418, который, похоже, каким-то образом заблокирован. Я обнаружил это с помощью инструмента netstat
от cmd
, который показывал мне SYN_SEND
состояние запросов, когда я пытался выполнить git ls-remote
.
Это патч-решение, но оно исправлено :(
да, это было так, большое спасибо, я многому научился с тех пор, как зашел на этот сайт, каждый день... из-за обширных знаний здесь. Ценю это и еще раз спасибо!!
Хороший улов, вижу
git ls-remote
был полезен.