【问题标题】:Access a git repo on local network drive through proxy通过代理访问本地网络驱动器上的 git repo
【发布时间】:2021-10-16 11:48:25
【问题描述】:

我目前有一个 git repo 存储在本地网络驱动器上。一些 Windows 10 PC 每天都提交这个 repo,并通过本地的“file://”协议访问它(我没有对网络的管理员控制,所以无法安装像 gitea 这样的实际 git 服务器)。

现在的问题是,我想让一台连接到网络的 linux (Ubuntu Desktop 20.04) 计算机访问网络驱动器上的 git repo (push/pull)。有人告诉我,网络驱动器不适用于 linux,我没有关于设置的更多详细信息。鉴于在 linux 机器上安装网络驱动器不是一种选择,是否可以通过使用其中一台 windows PC 作为代理来访问 git repo?也许使用 ssh 隧道?我目前能够从其他 Windows PC ssh/vnc 进入 linux PC。

我看过以下教程和其他一些教程,但它们似乎都在连接到实际的 git 服务器。如果可能的话,我希望它能够与本地“file://”协议一起使用。

1:git through ssh tunnel

2:use proxy for git/github

在我的设置/情况限制内,我愿意接受任何可行的解决方案。将 repo 移至 github 等在线主机不是一种选择。

【问题讨论】:

    标签: git ssh network-drive


    【解决方案1】:

    他们似乎都在连接到一个实际的 git 服务器

    使用 SSH 隧道不依赖于目标端的实际 Git (GitLab/Gitea/...) 服务器。

    只要仓库 path 可以通过 SSH 访问(尝试一个简单的 ls,用于测试),git 操作就可以工作。

    使用 SSH 并不意味着使用“Git”服务器,只是使用远程端 SSH 守护进程。

    【讨论】:

    • 所以我能够通过在 windows pc 上运行 ssh 服务器并从 linux pc 连接到它并使用 'git clone userName 从我的 windows pc 克隆一个 repo 到 linux pc @hostIpAddress:absolutePathToRepo' 但是,尽管能够从 mingw bash cd 进入网络驱动器,但当我尝试使用网络驱动器上的存储库路径时,克隆命令不起作用(例如:“/ /NetDrive/repo"),并给出以下错误 'fatal: protocol userName@hostIpAddress is not supported'
    • @Fiebbo 你输入什么命令?你可以试试git clone ssh://userName@hostIpAddress/full/path/of/repo吗?
    • 我试过了,现在得到 fatal: '/full/path/of/repo' doesn't seem to be a git repository fatal: Could not read from远程存储库 我还发现在 windows pc 上本地运行 mingw,我可以使用 cd //NetDrive 访问网络驱动器,但是从 linux ssh 进入时,相同的命令将不起作用
    • @Fiebbo 可以肯定的是,您确实将 /full/path/of/repo 替换为您的文件夹存储库的实际完整路径?
    • 绝对,我认为我的问题与从 linux ssh 时无法 cd 进入网络驱动器这一事实有关。但我不知道从哪里开始尝试解决这个问题。会不会是权限问题?我确实必须通过一些奇怪的undocumented permission setup 才能让我的 ssh 密钥在 windows openSSH 服务器上工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多