程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store
你想要的,这里都有!
我认为学习一门知识最怕的就是一知半解、草草了事,对于Git这种工具类更是如此。
有很多同学工作后,日常用到git clone、git add、git commit,能够解决日常开发中的基本操作就认为差不多会了。
但是,遇到复杂点的问题,发现对Git的基本原理、操作并没有很深入的理解。
这样,只能再去百度查解决方法,查了半天,踩了不少坑终于解决了,下次又遇到同样的问题,发现之前查的内容全忘了,主要原因还是知识不成体系,当初查询的主要目的还是为了解决当下问题。
这种方法其实并没有少花时间,而且在开发过程中会感觉步履维艰,一步一个坎。
所以,我建议如果想在开发中用好Git,还是需要先系统的学习一下Git的用法。
网上搜一下Git学习教程,会发现多如牛毛,有免费的,也有昧着良心收费的。
其实,我觉得从事开发工作,最好的学习资源往往就是官方提供的免费文档,权威,而且理解深度要比很多博主「二次加工」的好很多。
因此,学习方面我还是更推荐Git的官网文档,这里放一下链接:
https://git-scm.com/book/zh/v2
打开文档可以看到,它全面涉及Git基础、Git分支、服务器上的Git、分布式Git、Github、Git工具、Git内部原理等内容,覆盖非常全面。
而且,在每一篇文档中,它都会理论、操作、图示相结合,内容循序渐进,由浅入深,是一份质量很高、内容很严谨的官方文档。
此外,官方文档提供PDF、epub两种格式的下载,如果喜欢离线阅读或者打印出来看的同学,它也很不错。
基础知识学完了,可能有些同学对于Git的理解还是不够深入,接下来就需要「动手实践」,这里也给大家推荐一个免费开源的工具–LearnGitBranching,目前在Github已经26k+Star,它或许不是最好的,但是在我看来它非常特别,而且对于理解Git命令有很大的帮助。
简单概括,LearnGitBranching是一款Git的可视化学习工具,它通过交互式的方式教授大家学习Git,并且提供一些列的挑战,能通过可视化及挑战帮助大家理解Git操作和命令。
学习者可以在交互页面输入各种命令,页面会动态的根据输入命令,以动画的方式展示输入命令之后的效果,下面可以看一个示例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c3egIEuq-1669989760103)(https://pic3.zhimg.com/80/v2-a626b04480db920d53ff07cf75d85866_720w.gif)]
通过这种交互式的方式,可以帮助开发人员更加直观的理解每种操作对应的效果,对于加深对Git命令的理解很有帮助。
除了可视化、交互式的方式,它还提供了一些其他功能。
沙盒模式
默认情况下,应用程序以“沙盒模式”启动,并已创建基本存储库。在这里您可以输入命令并随心所欲地处理存储库。
你可以在沙盒里做如下操作:
- undo:撤消上一条命令的效果
- reset:从头开始
- git clone:模拟远程仓库
关卡
输入levels可以查看可用的课程/挑战,关卡里提供了从基础到高级、技术、技巧不同等级的教程和挑战,对于加深理解很有帮助。
除此之外,LearnGitBranching有一项git golf功能,它会跟踪解决每个调账使用了多少命令,可以更加直观的看到自己对Git的掌握程度。
关卡生成器
如果觉得默认提供的关卡不够,还可以使用 build level 命令构建关卡。
它会提供一个对话框将引导完成每个过程,我们可以提交这些关卡,也可以分享给其他同学。
传送门:
https://learngitbranching.js.org/?locale=zh_CN&NODEMO=
Github地址:
https://github.com/pcottle/learnGitBranching
除此之外,再给大家推荐另外一个可以和learnGitBranching结合使用的开源工具。
这款开源工具的名字叫做Git Explorer,目前在Github上1.6k个star。
这款工具在Github上的简介是“无需网络搜索就可以找到正确的Git命令”。
如果说learnGitBranching在可视化方面做的非常贴心,那么Git Explorer则更多偏重命令层面理解。
从名称也可以看得出来,它主要就是一款面向Git的浏览器,简单来说,你只需要在Git Explorer上点击选择你想要的动作,它就可以动态输出相应的命令。
重点是,这些都是正确的命令,就不用上网搜索各种乱七八糟的播客、到处踩坑浪费时间了!
以上图为例,分步选择自己想要的操作:
- 想要’添加’
- 添加’一个分支’
- 添加后’切换到新分支’
然后,它就会动态输出用法命令:
git checkout -b <new name>
这个是开发者比较经常会遇到的一种Git使用场景。
除此之外,它还有很多更加深入的用法。
比如:
- cherry-pick
- configure
- debug
- rebase
- recover
- …
下面再看一下稍微复杂一些的用法:
它不仅给出使用命令,还会给出一些用法提示,介绍它如何使用。
因此,Git Explorer不仅可以作为一款参考工具,日常开发时用来查询命令,还可以作为一款学习Git的工具来用。
传送门
Git Explorer:
https://gitexplorer.com/
Github项目地址:
https://github.com/summitech/gitexplorer
建议大家有空可以多浏览Github,有很多好用的开源免费工具。但是,目前Github上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。这里,给大家推荐Github上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖C++、JAVA、JavaScript、Python、Go等不同编程语言。此外,还有一些开源工具、优秀的技术文章:
https://github.com/Jackpopc/DevWeekly