使用gitea私有仓库作为依赖

实际问题

由于公司团队使用gitea搭建了git私有仓库,在开发Go程序的时候会有一些公共代码,比如插件和主程序之间要共享接口和数据结构,所以就需要在gitea私有仓库中创建依赖仓库,然后其他仓库引用这个私有仓库作为依赖。

解决方案

由于公司是使用的ip地址访问的gitea仓库,为了和go的其他依赖项一样使用域名作为路径的开始,所以先定一个gitea.com域名,然后在~/.gitconfig文件中增加如下配置信息:

[url "http://<gitea服务的ip地址>:<gitea服务开放的端口>/"]insteadOf = https://gitea.com/

注意上面替换配置中是将https协议替换为http协议了,这点很重要,因为内部gitea私有仓库是走的http协议访问的。

假设,我们的gitea服务所在ip地址为192.168.0.23,端口为3333,那么上面的配置就可以具体化为如下所示:

[url "http://192.168.0.23:3333"]insteadOf = https://gitea.com/

其实可以在gitea仓库的下载地址看到ip地址和端口的,如下图所示:

在这里插入图片描述

以上面的工程zzg/DriverCommonInterface 为例子,在工程中的go.mod文件中要将包的路径申明为如下所示:

module gitea.com/zzg/DriverCommonInterface.gitgo 1.22.2

然后使用这个依赖的工程(假设工程为A)中使用go get命令拉取依赖:

go get gitea.com/zzg/DriverCommonInterface.git

然后在工程A的go.mod文件中出现的依赖就是如下所示:

require gitea.com/zzg/DriverCommonInterface.git v1.0.1

其中v1.0.1是为依赖工程zzg/DriverCommonInterface创建的tag,也就是版本号。

知其然知其所以然

go get 原理

go get 可以下载git、svn等管理的源代码仓库

没有找到详细的调用git命令的代码,但是在go get命令的注释中说明了会调用版本控制命令,比如git。

在这里插入图片描述

所以在git的配置文件(~/.gitconfig)中配置了替换规则才会生效。

模块名称

因为模块名称必须和下载路径(gitea.com/zzg/DriverCommonInterface.git)保持一致,所以在DriverCommonInterface工程的go.mod文件中定义的模块名称为gitea.com/zzg/DriverCommonInterface.git,即go.mod内容为如下所示:

module gitea.com/zzg/DriverCommonInterface.gitgo 1.22.2

参考资料

一篇文章彻底弄懂Golang私有仓库配置问题

Golang私有仓库配置问题](https://blog.csdn.net/pillar04/article/details/131206819)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/392194.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现pxe安装部署

此实验环境&#xff1a;rhel7主机 一、kickstart自动化安装脚本 1、安装可视化图形 [rootlocalhost ~]# yum group install "Server with GUI" 2、关闭vmware dhcp功能&#xff08;编辑-虚拟网络编辑器&#xff09; 3、httpd 1、安装httpd服务 [rootlocalhost …

网鼎杯比赛二次注入技巧

文章目录 前端的网页展示分析题目暴力破解寻找代码找到注入点进行注入查询想要的文件 前端的网页展示 分析题目 1.目前我们能看到的只有三个页面&#xff0c;但是我们可以看到三个*号。 2.考虑三个*的密码是什么&#xff0c;这里可以采用暴力破解&#xff08;我们先猜这是三个…

会声会影下载免费吗?会声会影2023中文旗舰版下载及配置最低要求

**会声会影2024&#xff1a;引领视频创作新时代的创新之旅** 在数字时代的浪潮中&#xff0c;视频创作已成为连接世界、表达创意的重要方式。随着技术的不断进步&#xff0c;一款名为“会声会影2024”的视频编辑软件横空出世&#xff0c;它不仅继承了前代产品的优秀传统&#…

C#MQTT协议应用

1 &#xff0c;MQTT介绍&#xff1a;MQTT详解以及实际操作_mqtt使用-CSDN博客 2&#xff0c;MQTT应用&#xff1a; C#MQTT编程06--MQTT服务器和客户端(winform版)_c# mqtt服务器-CSDN博客 3&#xff0c;MQTT实例&#xff1a; 效果 代码&#xff1a; 服务端 public parti…

通过Stack Overflow线程栈溢出的问题实例,详解C++程序线程栈溢出的诸多细节

目录 1、问题说明 2、从Visual Studio输出窗口中找到了线索,发生了Stack Overflow线程栈溢出的异常 3、发生Stack Overflow线程栈溢出的原因分析 4、线程占用的栈空间大小说明 5、引发线程栈溢出的常见原因和场景总结 6、在问题函数入口处添加return语句,在Debug下运行…

TI音频功放TAS6511(二)

3.数字音频处理 芯片支持高级数字音频处理能力&#xff0c;包括&#xff1a; 高通滤波器/直流阻断 数字音量控制 PVDD的Foldback/AGL 热Foldback 双象限增益补偿 混合调制 实时负载诊断 低延迟路径 喇叭功率限制 1&#xff09;PVDD Foldback 本功能主要为了防止音频…

【Material-UI】Autocomplete中的禁用选项:Disabled options

文章目录 一、简介二、基本用法三、进阶用法1. 动态禁用2. 提示禁用原因3. 复杂的禁用条件 四、最佳实践1. 一致性2. 提供反馈3. 优化性能 五、总结 Material-UI的Autocomplete组件提供了丰富的功能&#xff0c;包括禁用特定选项的能力。这一特性对于限制用户选择、提供更好的用…

【你也能从零基础学会网站开发】SQL Server 2000中的数据类型之String字符串类型

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 SQL Server 中…

不用PS也能抠图?点哪抠哪,简直是职场人的最强助手

抠图你还在用 PS 一点点抠吗&#xff1f; 不仅费时费力&#xff0c;还常常达不到理想效果&#xff0c;真的太让人崩溃了 但别担心&#xff0c;我找到了一个超棒的工具——千鹿设计助手的AI智能抠图插件。它就像你的私人设计小助手&#xff0c;能快速帮你把想要的元素抠出来&…

《花100块做个摸鱼小网站! · 序》灵感来源

序 大家好呀&#xff0c;我是summo&#xff0c;这次来写写我在上班空闲(摸鱼)的时候做的一个小网站的事。去年阿里云不是推出了个活动嘛&#xff0c;2核2G的云服务器一年只要99块钱&#xff0c;懂行的人应该知道这个价格在业界已经是非常良心了&#xff0c;虽然优惠只有一年&a…

C++初阶学习——探索STL奥秘——模拟实现string类

1、string类的构造 上面的代码从表面看没什么问题&#xff0c;但是运行后会发现程序有多处bug 但是如上图一样&#xff0c;这样改进依然有bug 因为我们编写无参构造函数的时候&#xff0c;肯定要让_str默认为nullptr&#xff0c;但是这样的话&#xff0c;在main函数中创建对象…

电脑运行库问题怎么修复?电脑运行库修复工具分享与实操

在我们日常使用电脑的过程中&#xff0c;经常会遇到一些因为运行库缺失或损坏而导致软件无法正常运行的问题。这些问题不仅影响工作效率&#xff0c;还可能导致数据丢失或程序崩溃。那么&#xff0c;电脑运行库怎么修复呢&#xff1f;本文将为您详细介绍如何使用运行库修复工具…

STL-list

1.list 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。 3. l…

黑马Java零基础视频教程精华部分_12_面向对象进阶(4)_内部类

《黑马Java零基础视频教程精华部分》系列文章目录 黑马Java零基础视频教程精华部分_1_JDK、JRE、字面量、JAVA运算符 黑马Java零基础视频教程精华部分_2_顺序结构、分支结构、循环结构 黑马Java零基础视频教程精华部分_3_无限循环、跳转控制语句、数组、方法 黑马Java零基础视…

IEEE Trans系列,超低自引率,沾边可收,截稿在即,版面有限!

关注GZH【欧亚科睿学术】&#xff0c;第一时间了解期刊最新动态&#xff01; &#x1f447; &#x1f447; &#x1f447; &#x1f447; 这本IEEE Trans系列&#xff01;指标优秀&#xff01; IEEE-Trans系列期刊IEEE TRANSACTIONS ON INTELLIGENT VEHICLES (查看原文)…

详解直铺防静电瓷砖的特点与优势

防静电地板分为架空防静电地板和直铺防静电地板&#xff0c;直铺式防静电地板是一种直接铺设在地面上的地板系统&#xff0c;防静电瓷砖就是常用的直铺防静电地板之一。防静电瓷砖是在瓷砖烧制过程中加入防静电功能粉体进行物理改性&#xff0c;规格为600*600*10mm&#xff0c;…

前端常用的几个工具网站

觉得不错的前端工具类网站 1、Grid布局生成 https://cssgrid-generator.netlify.app 2、拟物按钮样式生成 https://neumorphism.io 3、玻璃形态效果 在线制作CSS玻璃形态 4、一些Button、checkBox、switch、card的css样式 零代码 - 精美CSS样式库 5、CSS阴影生成 在线创建…

学习c语言第二十天(自定义类型)

一、结构体 1.结构体声明 结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.1结构体的声明 struct stu {char name[20];int age; }s1,s2;//s1,s2是struct stu 类型的变量&#xff0c;//可以不创建&#xff0c;在main函数里创建 …

进程的管理与控制详解:创建、终止、阻塞等待与非阻塞等待

目录 一、进程创建 1、实例 2、fork函数详解 (1)fork函数模板 (2). fork() 函数的工作原理 (3). fork() 返回值和错误处理 3、如何理解进程创建过程 二、进程终止 1、终止是在做什么&#xff1f; 2、进程终止&#xff0c;有三种情况 3、进程如何终止&#xff1f; 三…

【独家原创RIME-CNN-LSSVM】基于霜冰优化算法优化卷积神经网络(CNN)结合最小二乘向量机(LSSVM)的数据回归预测

【独家原创RIME-CNN-LSSVM】基于霜冰优化算法优化卷积神经网络(CNN)结合最小二乘向量机(LSSVM)的数据回归预测 目录 【独家原创RIME-CNN-LSSVM】基于霜冰优化算法优化卷积神经网络(CNN)结合最小二乘向量机(LSSVM)的数据回归预测效果一览基本介绍程序设计参考资料 效果一览 基本…