我正在尝试安装 gitlab本指南在 Ubuntu 14.04 Server 上。还值得一提的是,我使用的是 http 代理。我遇到的问题尤其出现在以下行:
sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 6-9-stable gitlab
我已经hhtp_proxy
设置了环境变量,但根据我所做的一些阅读,您需要通过发出以下命令来独立设置 git 的代理详细信息:
git config --global http.proxy http://some.proxy.com:8080
因此,我想尝试通过该集合来理解sudo -u <user> -H <command>
语法。
从 sudo 手册页中读取 -u -H 标志,-u 表示该命令将以 git 用户身份执行。-H 将 HOME 环境变量设置为目标用户的 homedir。这一切都很合理,因为 git 用户应该拥有 gitlab 服务。
git clone <url to repo> -b 6-9-stable gitlab
将会拉取指定 URL 处的存储库,将其分配给名为 6-9-stable 的新分支,并将存储库的所有内容放在 gitlab 目录中。
问题是当我运行时:
`sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 6-9-stable gitlab
连接失败并显示以下输出:
Cloning into 'gitlab'...
fatal: unable to access 'https://gitlab.com/gitlab-org/gitlab-ce.git/': Failed to connect to gitlab.com port 443: Connection timed out
我也尝试过放弃s在 https 中,因为我知道端口 443 与 SSL/TLS 同义,但我仍然得到相同的输出......我不太明白。
但是如果我只是运行:
git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 6-9-stable gitlab
repo 下载正常。现在我知道我可以将其移动到 ~/git 并执行适当的 chmod / chown,但我真的很想了解为什么我会看到这种行为以及如何使用sudo -u <user> -H <command>
语法获得所需的结果。
提前谢谢了 :)
答案1
显然,该命令git config --global http.proxy http://some.proxy.com:8080
只对每个用户有效。
如果您使用git clone
与用户的通话git,你必须使用你的git config
电话与用户git也一样。