这才是 Git 的正确学习方式!
程序员宝藏库: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 操作和命令。
学习者可以在交互页面输入各种命令,页面会动态的根据输入命令,以动画的方式展示输入命令之后的效果,下面可以看一个示例:
通过这种交互式的方式,可以帮助开发人员更加直观的理解每种操作对应的效果,对于加深对 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 使用场景。
除此之外,它还有很多更加深入的用法。
比如:
cherry-pick
configure
debug
rebase
recover
...
下面再看一下稍微复杂一些的用法:
它不仅给出使用命令,还会给出一些用法提示,介绍它如何使用。
因此,Git Explorer 不仅可以作为一款参考工具,日常开发时用来查询命令,还可以作为一款学习 Git 的工具来用。
传送门
Git Explorer:
Github 项目地址:
https://github.com/summitech/gitexplorer
建议大家有空可以多浏览 Github,有很多好用的开源免费工具。但是,目前 Github 上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。这里,给大家推荐 Github 上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖 C++、JAVA、JavaScript、Python、Go 等不同编程语言。此外,还有一些开源工具、优秀的技术文章:
版权声明: 本文为 InfoQ 作者【Jackpop】的原创文章。
原文链接:【http://xie.infoq.cn/article/89187c9b5dd451f25825cf932】。文章转载请联系作者。
评论