网站首页 > 文章精选 正文
在写golang代码时,引用其他开源github项目代码,仅需要简单的import即可。在公司内部开发项目用gitlab存储我们的项目代码,且代码都设置了私有权限,不能直接通过简单的import引入需要的代码,此时需要怎么做?
假设用户user开发项目example,要引入项目base的代码,gitlab地址http://git.example.com/
获取git token
设置用户user可以访问base项目gitlab代码,并设置用户user的token。如图所示,进入用户设置界面后,点击“Access Token”,然后点击“Add a personal access token”,可以生成一个新的git token。比如我操作后获取到token: ccd9PnzSCKqdS8C8VKKz
本地设置git token
在本地运行指令(实际运行时把{token}换成上一步获取到的ccd9PnzSCKqdS8C8VKKz):git config --global url."http://oauth2:{token}@git.example.com/".insteadOf "http://git.example.com/"
查看~/.gitconfig,可以看到git config命令实际把上面的配置写入到~/.gitconfig文件中
设置完毕git token后,就可以在go.mod中引用base项目了。
这里演示如何在go.mod中引入base项目master分支。
修改go.mod文件,添加
git.example.com/apaas/base master
运行go mod tidy,会自动获取到master的最新commit,现在就可以正常引用base项目代码了。
比如我们要引用base项目的go-client,可以直接在代码中引用
若需要引用base项目某一个commit或tag,也可以直接在go.mod中设置,
引用某个commit:
git.example.com/apaas/base {commit id}
引用某个tag:
git.example.com/apaas/base {tag}
然后运行go mod tidy,即可自动下载依赖的代码。
golang代码引用私有项目代码非常简单,只需配置好git config --global url."http://oauth2:{token}@git.example.com/".insteadOf "http://git.example.com/",即可像引用其他开源github项目代码一样引用gitlab私有项目代码了。注意这里{token}和example.com要换成实际的gitlab token 和gitlab 地址。
猜你喜欢
- 2025-06-15 游戏王LN 无头骑士(无头骑士cv)
- 2025-06-15 Linux ln、unlink命令用法(linux link命令详解)
- 2025-06-15 n和l分不清矫正发音方法,这三步就够了
- 2025-06-15 Instamic:录音领域中的 GoPro,让你想录就录,随心所欲
- 2025-06-15 从golang安装开始,让我们一起Go(golang官方文档下载)
- 2025-06-15 游戏王LN 死灵伯爵&骨海马(游戏王死灵卡组)
- 最近发表
-
- 面试中常被问到的Hash表,你了解吗
- JAVA面试考点:一文搞懂一致性Hash的原理和实现
- 一次性搞清楚equals和hashCode(hashcode() 与equals()区别,简单说明)
- HashMap.Key的故事:Key为什么出现Hash碰撞及冲突呢?
- hash冲突的几种解决方案对比(hash冲突的解决方式)
- 游戏王LN 无头骑士(无头骑士cv)
- Linux ln、unlink命令用法(linux link命令详解)
- n和l分不清矫正发音方法,这三步就够了
- golang引用私有gitlab项目代码(golang引入当前包下的文件)
- Instamic:录音领域中的 GoPro,让你想录就录,随心所欲
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)