golang项目git-subtree完美解决差异包管理

目标:

1.把golang官方已移动过url的包跟随自己的项目git代码上传到项目源码中.

2.把或自己修改过的差异化fork包跟随自己的项目git代码上传到项目源码中.

解决方案:

方案1.第三方包管理

http://tleyden.github.io/blog/2016/02/08/adding-vendoring-to-a-go-project/

方案2.手动处理过程

a.在项目根目录下创业文件夹 "/vendor/src"

b.通过git-subtree下拉包到上一步目录下,红包部分即要安装的包地址

git subtree add --prefix vendor/src/github.com/go-sql-driver/mysql https://github.com/go-sql-driver/mysql.git master --squash

c.须要列新包时可以把add参数改为pull执行一次即可

d.添加vendor文件夹和push到git源码中

$ git add vendor
$ git commit -m "..."
$ git push origin master

完成

时间: 2024-08-29 08:57:19

golang项目git-subtree完美解决差异包管理的相关文章

代码管理工具git使用来解决代码冲突管理

现在做软件产品项目,基本都用git来进行代码管理.相比SVN,git刚上手的人对git的使用的确感到很受伤.总结坑如下: 1.对git理解不透,不晓得git本地仓库,远程仓库的命令 2.SVN在Eclipse中的使用比git要舒服,不易出错. 但是项目代码使用git管理是大势所趋,不得不好好掌握.好在经过多次实践后,终于在git cmd中利用命令完美解决代码同步管理. 同步远程代码,遇到冲突的解决方法 1.方法一,采用远程文件覆盖本地文件. git pull git checkout <文件路径

永久解决Sublime包管理package control 打开install package报错 There are no packages available for installation

很多用户在使用sumblime安装插件的时候,打开package control的install package会出现报错:There are no packages available for installation.如下图: 之所以会出现这种错误的原因是因为sublime中的包管理install package依赖一个channel_v3.json文件,而这个json文件默认每次打开package control都会从一个网址下载,而当网址未响应的时候(实事证明经常出问题),就会出现报错.

git subtree:无缝管理通用子项目

移动互联网的爆发以及响应式页面的尴尬症,开发web和mobile项目成为了标配,当然实际情况下,会有更多的项目. 多项目开发对于前端来说是个很大的挑战? 重复,重复的前端架构,重复的前端依赖,重复的工具函数等? 局限,不同后台有不同的规则,"因地制宜"真难受,刚伺候好rails又突然来个php? 最优,后台工程做前端构建,总是显得不够"最优". 所以,我们需要单独抽离出前端开发项目,按照前端的方式来组织代码,通过构建工具来对前端资源文件做最优处理那么新问题来了,如何

linux软件包管理——rpm包管理

软件运行环境API:Application Programming Interface 应用程序接口(应用程序和操作系统之间的接口) 凡是符合该api标准的应用程序都可以在支持该api的操作系统上编译通过 程序源代码 --> 预处理 --> 编译 --> 汇编 --> 链接  静态编译:自身包含所有需要调用的库文件  动态编译:自身不包含,需要时调用共享库文件(.so文件)ABI:Application Binary Interface 应用程序二进制接口 规定了二进制文件的格式.

linux程序包管理rpm,yum和编译安装以及冒泡排序练习

linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇编--> 链接 静态编译: 共享编译:.so ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux: WIN

tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum

tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 tar xvf 解压文件 tar zcvf /testdir/etc2.tar.gz /etc/ 解压再压缩到指定路径,文件格式 tar jcvf cpio 复制 从或到文件 cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以".cpio"或者".ta

nuget包管理器控制台下的powershell脚本介绍

http://personball.com/powershell/2016/07/15/powershell-tips 定制自己的powershell,减少重复工作 安装一系列自己的常用nuget包 项目做多了,有时候发现自己新建项目时,总是要花费半天或者几十分钟去新建一个新项目,一个一个地安装完所有常用的包. 对于码农,这重复劳动不可忍! 打开nuget包管理控制台,输入code $profile,在打开的文件中,输入如下脚本 function Install-PackageForAbpUni

Linux的系统程序包管理

RPM 我们知道在操作系统之上使用的程序是由程序员通过开发工具开发出来的,而程序员编写的纯文本我们 称为源代码.由于计算机只认识二进制,程序员写好的源代码要经过一定的编译成计算机认识的二进制程序.而编译就是将源代码转成二进制,再通过一定的步骤来安装到时操作系统之上被我们使用. 虽然原始码进行软件编译, 毕竟不是每个人都会进行原始码编译的.如果我位的 Linux系统与发行厂商一模一样,那么在厂商系统上编译出来的程序,自然也可以在我们的系统上来运行.由于我们本来就是使用厂商的发行版,那么使用厂商系统

第10章,程序包管理学习笔记

更多内容请点击: Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~) http://blog.51cto.com/13683480/2095439 笔记整理开始时间:2018年4月20日14:07:22 第10章  程序包管理 本章内容 软件运行环境 软件包基础 rpm包管理 yum管理 定制yum仓库 编译安装 软件运行和编译: ABI: Application Binary  Interface 应用程序的二进制接口 window:       PE,Por