在没有SSH访问权限的防火墙后面使用GitHub

11

我非常想使用GitHub,但我的公司限制了所有的事情。现在,我只能通过HTTP协议使用Tortoise SVN。我能以同样的方式使用GitHub吗?如果可以,怎么做?


https://dev59.com/UmQo5IYBdhLWcg3wUd-L - Fabricio
2个回答

16

我认为你一直都可以通过HTTP克隆github存储库,但是有一个限制,即您无法将更改推回到存储库。 但是,github最近引入了智能HTTP传输,因此现在您还可以通过HTTPS进行推送。 这应该可以在任何防火墙后面正常工作。 关于Smart HTTP支持的更多信息,请参见此博客文章:

https://github.com/blog/642-smart-http-support

简单来说,如果您在存储库的“源”选项卡上单击HTTP按钮,它将为您提供一个类似于以下URL的链接:

https://mhl@github.com/mhl/unicode-poster.git

如果你使用这个URL进行克隆,每当你需要与服务器通信(例如使用git clonegit fetchgit push等命令)时,它会提示你输入github密码。但是,你也可以使用以下的URL进行克隆:

https://mhl:notactuallymypassword@github.com/mhl/unicode-poster.git

...你就不需要重新输入密码了。(如同那篇博客文章提到的,确保URL开头有https://,并且要知道这意味着你的github密码将以明文形式存储在你的git配置文件中,所以不要让任何人复制你的.git目录!)


你可能还需要将公司代理地址添加到配置中。例如,在Windows上使用git bash,我的gitconfig文件的相关部分如下: [http] sslCAinfo = /bin/curl-ca-bundle.crt proxy=http://mycache:8080该文件位于C:\Program Files (x86)\Git\etc(或类似位置)。 - Tom Crane

1

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