请教个关于git的问题

mgzhenhong 2019-08-18 05:57:59
VS中, 有没有类似 PHP 里面 Composer 一样的东西? 可以做其它git项目源码引用的, nuget 只能引用package, 做不了源码引用的事情.

比如我在机器A上新建一个解决方案 Test, 在解决方案下有一个项目 Test.Bin.
然后 git clone http://github.com/who/lib.git 一个项目源码到 Lib 目录里, 加入到解决方案中.
Test.Bin引用了 Lib 库.
现在目录结构是这样:

Test
Test.Bin
Test.Bin.csproj
Lib
Lib.csproj
Test.sln

整个项目发布到github上, 地址是 http://github.com/me/test.git
在另一台机器B上, 通过 git clone http://github.com/me/test.git 获取全部源码到本地.

然后我就想问, 某天 Lib库的作者更新了, 我在机器B上如何得到更新?
git 的 submodule 用起来实在不方便, 也很麻烦, 有没有更好的方案.

比如类似 PHP 的 Composer 在项目根目录定义一个文件 composer.json , 里面定义了这个解决方案引用了哪些库, 从哪里下载的.
在任何机器上, 只要从 clone test.git 以后, 再执行 composer install, 就会自动下载依赖库源码, 放在 vendor 目录下.
整个vender目录无需包含 test.git 中, 当 Lib 库有更新时, 直接 composer update 就可以.
...全文
119 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
XBodhi. 2019-08-20
  • 打赏
  • 举报
回复
源码引用,你的意思是 ?
github_36000833 2019-08-20
  • 打赏
  • 举报
回复
引用 楼主 mgzhenhong 的回复:
...
在任何机器上, 只要从 clone test.git 以后, 再执行 composer install, 就会自动下载依赖库源码, 放在 vendor 目录下.
...


git submodule也算方便啊,甚至都不用"再执行 composer install":

合并一步:
git clone --recurse-submodules http://github.com/who/lib.git

分两步:
git clone http://github.com/who/lib.git
cd lib
git submodule update --init --recursive
stherix 2019-08-18
  • 打赏
  • 举报
回复
git貌似没别的方法 还是用git submodule 吧 写个批处理就行了

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧