Skip to content

通过 SSH 获取私有仓库中的 Go Package

标签
开发/语言/Golang
开发/Git
命令行/git
开源/软件/ssh
命令行/ssh
字数
406 字
阅读时间
2 分钟

下面所有的案例都假定我的 SSH 配置文件是这样撰写的:

ssh-config
Host nekomeowww.git
    HostName ssh.github.com
    User git
    Port 443
    IdentityFile ~/.ssh/nekomeowww_github_2023.pub

打开 Git 配置文件

为全局所有 Git 存储库配置

为全局 Git 命令生效,即一次配置终生使用:

shell
git config --global -e

仅为本地 Git 存储库配置

我一般会喜欢按照项目来配置,方便控制作用域:

shell
git config --local -e

配置 Git

按域名进行配置

shell
[url "git@<SSH 主机名称>:"]
  insteadOf = https://<GitLab 或者 GitHub>/

可以写成这样来替换所有的 example.com 域名来指向自己的 SSH 配置:

shell
# For performing go get ./... or go mod download with private go packages
[url "[email protected]:"]
  insteadOf = https://example.com/

按组织进行配置

shell
# For performing go get ./... or go mod download with private go packages
[url "git@<SSH 主机名称>:<组织>"]
  insteadOf = <SSH 主机名>:<>

可以写成这样来替换 myorg 组织下的包:

shell
# For performing go get ./... or go mod download with private go packages
[url "[email protected]:myorg"]
  insteadOf = https://github.com/myorg/

按项目进行配置

shell
# For performing go get ./... or go mod download with private go packages
[url "git@<SSH 主机名称>:<存储库 Repository 路径>"]
  insteadOf = https://<GitLab 或者 GitHub>/<存储库 Repository>

可以写成这样来替换 myorg 组织下的包 mypackage

shell
# For performing go get ./... or go mod download with private go packages
[url "[email protected]:myorg/mypackage"]
  insteadOf = https://github.com/myorg/mypackage

贡献者

文件历史

撰写