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

Mac访问gitlab私有仓库

通过ssh

  • ssh-keygen -t rsa -C "xxxxxxxx@qq.com"

    • 成功后终端显示如下:

    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."git@your.gitlab.com/".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 账号和密码。这些内容在安装内部的私有包时需要用到。如果不存在这个文件就创建它。

plaintext 复制代码
machine your.gitlab.com
login your_name@your.gitlab.com
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 私有仓库

相关推荐
程序员初一13 小时前
8080 打不开的四层定位:监听地址、ufw、DOCKER 链、安全组
linux·ssh
程序开发阿元13 小时前
swappiness 60 和 10 差在哪:一台 1C1G 的三轮对比
linux·ssh
Lsetea16 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
fthux17 小时前
Tick Rest,一个休息提醒工具的自我修养
macos·开源·swift
程序开发阿元20 小时前
一台 20G 的 VPS 被日志吃掉一半:我按这个顺序查了二十分钟
linux·ssh
我不会起名字3221 天前
Redis 从 0 到 1(二十七):JSON 体积是 Protobuf 的 3.7 倍?3 种序列化的 Go 基准测试
redis·go·序列化·protobuf·messagepack
我不会起名字3221 天前
Redis 从 0 到 1(二十三):一个热 key 打到 10 万 QPS——hotkey 与本地缓存的 Go 实现
redis·缓存·go·qps·hotkey
skywalk81631 天前
不用 SSH、不装数据库:我用 1 个 Python 脚本 + Git,把 15 个 AI Agent 串成了一条流水线
数据库·人工智能·python·ssh·集群
FungLeo1 天前
成为全栈·基础补充·Linux 服务器入门
linux·运维·服务器·ssh·部署·成为全栈
Patrick_Wilson1 天前
Go 为什么需要 defer?从函数怎么收尾说起
后端·go·编程语言