Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建Git代理_Git_Proxy - Fatal编程技术网

创建Git代理

创建Git代理,git,proxy,Git,Proxy,我需要从无法访问的服务器推送到git存储库(它在IP级别被阻止,并且我的服务器的IP地址不在允许的段中) 假设我有第二台服务器可以访问git存储库:是否可以将其设置为“git代理”,以便第一台服务器可以推送到第二台服务器,而这台服务器可以推送到主git存储库 我想是的,我对我应该搜索/做什么来设置它有一点想法,但我想知道是否有一种简单直接的方法来完成这项任务 提前感谢您。如果您使用的是Git over SSH,那么标准应该允许您在不需要第二个Git存储库的情况下推送到Git服务器。大概是这样的:

我需要从无法访问的服务器推送到git存储库(它在IP级别被阻止,并且我的服务器的IP地址不在允许的段中)

假设我有第二台服务器可以访问git存储库:是否可以将其设置为“git代理”,以便第一台服务器可以推送到第二台服务器,而这台服务器可以推送到主git存储库

我想是的,我对我应该搜索/做什么来设置它有一点想法,但我想知道是否有一种简单直接的方法来完成这项任务


提前感谢您。

如果您使用的是Git over SSH,那么标准应该允许您在不需要第二个Git存储库的情况下推送到Git服务器。大概是这样的:

  • 建立从被阻止服务器到非被阻止服务器的SSH连接,包括到目标Git服务器的隧道:

    ssh non.blocked.server -L 2222:git-host.com:22
    
  • 在另一个终端中,当SSH连接仍处于活动状态时,发出Git命令,目标是
    localhost:2222
    ;这些将通过SSH连接进行隧道传输,并发送到您的Git主机,同时看起来来自您的非阻塞服务器:

    git ls-remote localhost:2222/some/repo.git
    
  • 如果您使用的是HTTPS,请查看HTTP代理以执行相同的操作


    最后,您可以将未被阻止的服务器设置为被阻止服务器的Git远程服务器。然后您可以
    git-push
    从被阻止的服务器推送到非被阻止的服务器,然后
    git-push
    再次从非被阻止的服务器推送到git主机。请注意,在这种情况下,您可能希望在未被阻止的主机上,而不是在常规存储库上进行存储。

    嗨,克里斯,谢谢您的回答。我正在使用HTTPS,所以我将查找您推荐的内容。