本文来安利大家一个我做的好用的工具,这个工具可以更新某个文件夹下所有 Git 仓库,通过调用命令行的 Git 命令实现更新。这是一个 dotnet tool 工具,所有代码在 GitHub 完全开源
我会将一堆 Git 的代码仓库,我将这些代码仓库放在一个大文件夹里面,而我本地的网络比较渣,我期望有一个工具可以辅助我更新这些 Git 代码仓库
我的代码仓库文件夹大概如下,其中 lindexi 文件夹就是存放了一堆代码的大文件夹,而 AsyncWorkerCollection 等文件夹,分别是我在 GitHub 上对应的仓库
lindexi
├─AsyncWorkerCollection
├─dotnetCampus.ClrAttachedProperty
├─dotnetCampus.CommandLine
└─WPF
├─dotnetCampus.FileDownloader
└─dotnetCampus.Logger
在 Git 命令里面,可以使用如下命令更新代码仓库
git fetch --all
但是这个代码只能作用在单独一个代码仓库里面,而我的大文件夹里面有大量的 Git 仓库,如果手动一个个去更新,看起来不清真。最清真的方法是通过 dotnet tool 来做
使用 dotnet tool 只有两步,第一步是安装
dotnet tool install -g Lindexi.Tool.AutoSyncGitRepo
第二步是使用工具
AutoSyncGitRepo [文件夹]
这个工具可以传入将进行更新的包含 Git 仓库的大文件夹,如果啥都不传将使用当前文件夹
这个工具可以遍历所有子文件夹,也就是放在更低层的 Git 代码仓库也会被找到,进行更新
更新的原理就是命令行调用 git fetch --all
进行更新
因此适合作为定时任务调用此工具,这样就可以不断进行更新代码了,在需要使用的代码仓库的时候不需要等待很长的时间去 Git 服务器下载代码
工具的代码在 GitHub 完全开源,请看 AutoSyncGitRepo GitHub 链接
本文会经常更新,请阅读原文: https://blog.lindexi.com/post/dotnet-%E6%9B%B4%E6%96%B0%E6%9C%AC%E5%9C%B0%E6%89%80%E6%9C%89-Git-%E4%BB%93%E5%BA%93%E7%9A%84%E5%B7%A5%E5%85%B7.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
无盈利,不卖课,做纯粹的技术博客
以下是广告时间
推荐关注 Edi.Wang 的公众号
欢迎进入 Eleven 老师组建的 .NET 社区
以上广告全是友情推广,无盈利