首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在git中使用"proxies“

在git中使用"proxies“
EN

Stack Overflow用户
提问于 2012-03-13 15:24:21
回答 3查看 111关注 0票数 2

我目前正在做一个项目,它需要我从我的机器X ssh到机器Y,在那里做一个git pull,然后检索编译后的代码,这样我就可以知道我们在哪里了。

我想直接在X上使用git,但我不能,因为我从Y所属的本地网络提取代码。有没有办法以某种方式使用X作为代理,这样我就可以直接在我的机器上使用git,而省去了很多麻烦?

(顺便说一句,我使用的是Linux发行版)

EN

回答 3

Stack Overflow用户

发布于 2012-03-13 15:32:15

如果您在Y上运行sshd (因为您可以在Y上使用ssh并执行操作),您可以:

X

  • git clone ssh://user@Y:/path/to/repo/on/Y

上安装

  • git

这样,您可以直接在X上获得Y存储库的克隆,进行修改,如果需要,可以将其推回到Y存储库(origin)。

票数 2
EN

Stack Overflow用户

发布于 2012-03-13 15:44:03

您可以使用ssh的代理特性。例如,我有(名字模糊以保护有罪的人:- ):

代码语言:javascript
复制
# tunneling
Host *.secure2.com
    ProxyCommand ssh secure1.local.com 'conn %h %p'

其中"conn“是我拥有的连接到目标主机/端口对的命令。如果有,您可以使用nc命令。请参阅ssh_config手册页(通常在第5节中)。

票数 1
EN

Stack Overflow用户

发布于 2012-03-13 15:54:19

当您通过ssh进入计算机X时,我只会将一个本地端口转发到计算机Y:

代码语言:javascript
复制
ssh -L2022:Y:22 yourself@Y

现在,当您的ssh会话存在时,您可以使用另一个本地shell并对计算机Y运行ssh命令:

代码语言:javascript
复制
git clone ssh://yourself@localhost:2022/repos/Yrepo repo_from_Y

当然,从Y克隆/拉到X之后,您可以从X克隆/拉到本地计算机,使X成为代理中间件。如果您使X上的克隆成为Y的裸镜像,则可以添加cron作业以使其保持最新。使用本地转发端口是最简单、非常灵活的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9679855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档