【问题标题】:How to connect to a Windows GIT repository from Ubuntu16.04?如何从 Ubuntu16.04 连接到 Windows GIT 存储库?
【发布时间】:2018-06-16 16:22:17
【问题描述】:

我使用的是 Ubuntu 16.04,并且通过 VPN 连接到带有 GIT 存储库的 Windows 网络。我可以通过

访问存储库
smb://192.168.1.71/users/Git/myrepo.git

但 GIT 不支持 smb 协议。来自 git 手册

以下语法可以与它们一起使用:

ssh://[user@]host.xz[:port]/path/to/repo.git/
git://host.xz[:port]/path/to/repo.git/
http[s]://host.xz[:port]/path/to/repo.git/
ftp[s]://host.xz[:port]/path/to/repo.git/
rsync://host.xz/path/to/repo.git/
[user@]host.xz:path/to/repo.git/

所以下面的行不通

git remote set-url origin smb://192.168.1.71/users/Git/myrepo.git

什么是好的解决方法?

【问题讨论】:

  • 既然是 Ubuntu 发行版,为什么不使用 ssh?

标签: git ubuntu smb


【解决方案1】:

通过以下方式挂载存储库

  1. mkdir /mnt/windowsgit
  2. sudo apt-get install cifs-utils
  3. sudo mount -t cifs //192.168.1.71/users/Git /mnt/windowsgit -o user=USERNAME

cifs-utils 需要挂载 smb 位置,USERNAME 是 windows 网络所需的用户名。系统会要求您输入密码。

使用 myrepo.git 使用

git remote set-url origin file://mnt/windowsgit/myrepo.git

并使用

sudo git pull
sudo git push

因为/mnt/ 需要sudo 权限。

你可能会得到

致命:'\192.168.1.71\Users\Git\myrepo.git' 似乎不是 git 存储库致命:无法从远程存储库读取。

请确保您拥有正确的访问权限和存储库 存在。

在通常的 git 消息之后,我不知道为什么,但它仍然有效。

【讨论】:

    【解决方案2】:
    1. 使用 smbmount 将系统库挂载到真实文件系统

    2. 在 windows 上运行匿名 git-daemon

    3. 在 windows 端设置 sshd

    4. 在 windows 端设置 IIS,并将存储库导出为哑 http

    5. 在windows站点设置IIS,并设置运行“git http-backend”的cgi

    【讨论】:

      猜你喜欢
      • 2013-11-13
      • 2016-12-14
      • 1970-01-01
      • 2014-05-29
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      相关资源
      最近更新 更多