元旦建了一个《Java 程序员进阶之路》网站,使用Git作为云服务器和GitHub远程仓库的同步工具。作为一名开发者,相信大家都知道Git的重要性。Git是分布式版本控制软件,第一个版本由LinusTorvalds开发并于2005年发布,采用GPL许可协议。Git的牛逼这次就不吹了,毕竟已经吹了7篇了,实在吹不起来!可能是Git历史上最伟大的代码提交终于有人把Git的数据模型解释清楚了昨晚看完Linus的第一个Git代码提交后,我睡不着了!要想熟练使用Git,恐怕要记住这60个命令崩溃!实习生搞砸了小组的代码库。..信不信由你,7张图让你掌握Git分支管理。.豆瓣9.1分!我昨天在急诊室吃完了这本书!任何人单靠Git都可以成神,Linus也是Linux内核的开发者。这简直就是神的最高境界。今天的文章可以算是Git的一个额外篇章,给大家介绍一个强大的命令——gitsparse-checkout,它在我的云服务器上至少留下了一半的存储空间。一、使用Git遇到的一个大麻烦首先要通知大家,前一天上线的《Java 程序员进阶之路》网站,目前访问量已突破1000次。俗话说,不积步不成千里,不积小流不成江海。1000次可能不值一提,但1000万次也不过是10000次1000次。二哥的每一点进步,都离不开大家的支持。看过前面搭建过程的朋友应该知道,我在云服务器上克隆了一个GitHub上的远程仓库,然后通过宝塔面板的定时任务执行gitpull命令,从GitHub上拉取最新的。content,然后通过Nginx服务器搭建网站,通过docsify渲染md文件获取网站内容。直接gitpull会无意识的将github上的codes和images目录同步到云服务器,但实际上codes和images目录是不需要同步的。究竟是怎么回事?大家可以先看看我的GitHub仓库的目录结构。docs是文档目录,里面是md文件,原版教程都在这里。codes为代码目录,包含教程的配套源码。images为图片目录,包含教程的手绘图。这样GitHub就可以当免费图床了,jsDelivrCDN的全球加速也可以白投了,真是爽啊!比如images目录下有一张logo图片logo-01.png:如果用github仓库的原路径访问,速度极慢!https://github.com/itwanger/t...使用jsDelivr加速后就不一样了,速度飞起来了!https://cdn.jsdelivr.net/gh/i...简单总结一下GitHub作为图床的正确用法,就二:创建一个GitHub仓库作为图床仓库,使用前上传提交图片到仓库GitHub把链接改成https://cdn.jsdelivr.net/gh/{user}/{repo}/其中图片展示在图床能白投一分钱我们绝不会花一分冤枉钱。也就是说,《Java 程序员进阶之路》网站上的图片都是通过GitHub镜像床加载的,不需要从GitHub仓库拉取图片到云服务器。要知道云服务器的空间是极其昂贵的,能节省的空间我们一定要节省。2.学习Git遇到的一大惊喜所以今天早上就在想,怎么才能省下这么贵的空间呢?在百度上搜了很多帖子,大部分都是乱七八糟的,毫无价值,几乎没有一篇能切入正题。最后浏览了Git官方手册(也可以看ProGit),找到了一个强大的命令:gitsparse-checkout,可以帮助我们在拉取远程仓库时只同步那些我们想要的目录和文件。具体使用方法可以看官方文档:https://git-scm.com/docs/git-...不过没必要,hhhh,直接打吧。第一步是通过gitremoteadd-forgingit@github.com:itwanger/toBeBetterJavaer.git命令从GitHub拉取仓库。第二步开启sparse-checkout,初始化拉取到仓库后,执行gitconfigcore.sparseCheckouttrue命令开启sparse-checkout。然后执行gitsparse-checkoutinit初始化。第三步,使用sparse-checkout拉取我们想要的仓库目录。比如我们只想拉取docs目录,可以执行gitsparse-checkoutsetdocs命令。如果是第一次使用sparse-checkout,还需要执行gitpullorginmaster命令拉取一次。第四步,验证是否有效。可以执行ls-al命令确认sparse-checkout是否生效。如图所示,确实只拉取了docs目录。如果要拉取其他文件或目录,可以使用gitsparse-checkoutadd命令添加。这样就实现了远程仓库和云服务器仓库的自定义同步。你可以同步任何你需要的目录和文件,你可以跳过所有不需要的。GitHub仓库可以免费使用,空间不限,但云服务需要自己搜索搜索。毕竟扩充存储空间真的很费钱啊!我比较了一下。远程仓库约145M,图片占72M,节省了一半的存储空间。如何禁用gitsparse-checkout?也很简单,执行gitsparse-checkoutdisable命令即可。如您所见,我们不需要的所有目录和文件都回来了。如果重新启用呢?也很简单,执行gitsparse-checkoutreapply命令即可。小结:如果你想在本地拉一个大到可以装满你硬盘的远程仓库,而且你只需要其中的部分目录和文件,你可以试试gitsparse-checkout。3、用过Git之后,不得不说Git真的很强大。一行命令解决了困扰我一整天的烦恼,我的80G存储空间的云服务器还能再战3年,再也不用担心了。Git真牛逼,Linus真牛逼,神无愧于神!大家好,我是周末肝痛的二哥!昨天的文章发表后,我的好朋友G留言说:“二哥不出去玩吗?”主要是终于有了连贯的时间,想做的事情太多了。比如在录制视频的时候,我这次改变了风格,尝试加入BGM,并且尝试找了很多素材来丰富视频的画面。计算机专业的学生党可以通过下面的链接观看,看看这个寒假的解题方法。如果觉得视频有帮助,不妨连连三连,让二哥的B站在2022年能有小幅提升,让我们握紧拳头。点燃所谓的火花取决于你。视频地址:https://www.bilibili.com/video...明天又是2022年的工作deal,希望工作组的每一个人都能取得长足的进步!没有什么能阻止我——除了目的,尽管岸上有玫瑰、绿荫和宁静的避风港,但我没有被束缚。
