Mac通过ssh、https访问gitlab私有仓库

Mac访问gitlab私有仓库

通过ssh

  • ssh-keygen -t rsa -C "[email protected]"

    • 成功后终端显示如下:

    Generating public/private rsa key pair. Enter file in which to save the key (/Users/xxx/.ssh/id_rsa):

    提示你保存 .ssh/id_rsa 的路径,这里直接 enter

    Created directory ‘/Users/xxx/.ssh’. Enter passphrase (empty for no passphrase):

    提示输入 passphrase,每次与 GitHub 通信都会要求输入 passphrase,以避免某些「失误」,建议输入 这里有个问题需要注意,那就是当你在这里输入密码,以后在连接 gitHub 去 push 代码的时候都需要输入密码,非常蛋疼,所以在这里最好直接回车过即可,不用输入密码。

  • ssh-add ~/.ssh/id_rsa_new 添加key到ssh目录(示例为mac)

  • cat ~/.ssh/id_rsa_new.pub 复制文件内的公钥到gitlab的个人profile中的SSH KEYS中

打开终端,进入项目目录中,进行配置

  • 如果本项目原先是没有连接到gitlab的话,通过git remote add origin ${你的项目git地址}
  • git config --global url."[email protected]/".insteadof "https://your.gitlab.com/"
  • go env -w GOPRIVATE=your.gitlab.com/(项目名) (-w会覆盖原配置)同时GONOPROXY和GONOSUMDB也会自动被设置
  • go install your.gitlab.com/xxx@latest 最后就可以进行通过ssh安装私有仓库的依赖包了
  • 如果安装依赖包后,无法执行一些包的命令,可尝试go mod vendor

go mod vendor 用于将项目的依赖项复制到项目的 vendor 目录中,以便离线构建。这是在使用 Go 模块的项目中,通常在构建可执行文件或库之前执行的一个步骤。这有助于隔离和管理项目的依赖项。

通过https

~/.netrc 中按照下面的写法添加你的 GitLab 账号和密码。这些内容在安装内部的私有包时需要用到。如果不存在这个文件就创建它。

machine your.gitlab.com
login [email protected]
password your_password_here
  • go env -w GOPRIVATE=your.gitlab.com/(项目名) (-w会覆盖原配置)同时GONOPROXY和GONOSUMDB也会自动被设置
  • go install your.gitlab.com/xxx@latest 最后就可以进行通过ssh安装私有仓库的依赖包了

参考资料:go module 使用 gitlab 私有仓库