Git - 在GitHub上使用9418端口进行远程操作

7
我正在尝试在学校连接Github,但是端口443被阻止了。
管理员告诉我使用9418端口,这应该是git协议的默认端口。
但是在Git Bash(Windows)中,如果我尝试执行git remote set-url origin git://github.com/me/myrepo.git并进行推送,它会告诉我无法向此URL推送,并建议使用https://github...代替。
如何配置Git以使用9418端口?

对于 Git 协议,默认端口是 9418。 - Shunya
4
告诉你们学校的IT人员打开443端口。从安全角度考虑,你们学校应该允许https://(即加密的"http")而不是其他大多数端口(包括http)。 - umläute
简短的说明,即使晚了:“它告诉我无法推送”。git://协议是匿名的,只能用于获取、克隆等操作,即下载。你不能通过git://协议将任何内容git push到远程,因为这样做是不允许的。我之所以补充这一点,是因为被接受的答案没有解释为什么会出现这种情况。 - code_dredd
4个回答

8

来自Github文档:

你只能推送到两个可写协议URL地址中的一个。这两个包括SSH URL,例如git@github.com:user/repo.git或HTTPS URL,例如https://github.com/user/repo.git

所以需要打开端口22或443才能够工作,git协议只能读取。


如果端口22是开放的 - 将源设置为git@github.com:me/myrepo.git - valodzka
连接到主机github.com端口22:坏的文件编号 致命错误:无法从远程存储库读取。请确保您拥有正确的访问权限并且存储库存在。 - Rayjax
您可能配置了一些不正确的内容,或者22号端口被关闭了。 - valodzka

6

检查:ReadyState4git remote add with other ssh port

第一种方法:git remote add origin ssh://git@domain.com:<port>/<project name>


第二种方法:更改.git/config

旧的:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@domain.com:<project name>

新的:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = ssh://git@domain.com:<port>/<project name>

0

试试这个,它会让你的生活更轻松

sed -i '/npm install/i \
RUN git config --global url."git@github.com:org".insteadOf 
"git://github.com/org" \
' Dockerfile

0

来自这篇博客:https://github.blog/2021-09-01-improving-git-protocol-security-github/,GitHub 不再支持 Git 协议。

在 Git 协议方面,未加密的 git:// 没有完整性或身份验证,容易受到篡改。我们预计很少有人仍在使用此协议,特别是考虑到您无法推送(在 GitHub 上只读)。我们将停止支持此协议。

您应该使用 sshhttps 更改协议。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接