golang项目git-subtree完美解决差异包管理
Posted 黎东海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
完成
以上是关于golang项目git-subtree完美解决差异包管理的主要内容,如果未能解决你的问题,请参考以下文章