这才是Git的正确学习方式

news2024/11/17 12:37:07

程序员宝藏库: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内部原理等内容,覆盖非常全面。

img

而且,在每一篇文档中,它都会理论、操作、图示相结合,内容循序渐进,由浅入深,是一份质量很高、内容很严谨的官方文档。

img

此外,官方文档提供PDF、epub两种格式的下载,如果喜欢离线阅读或者打印出来看的同学,它也很不错。

基础知识学完了,可能有些同学对于Git的理解还是不够深入,接下来就需要「动手实践」,这里也给大家推荐一个免费开源的工具–LearnGitBranching,目前在Github已经26k+Star,它或许不是最好的,但是在我看来它非常特别,而且对于理解Git命令有很大的帮助。

img

简单概括,LearnGitBranching是一款Git的可视化学习工具,它通过交互式的方式教授大家学习Git,并且提供一些列的挑战,能通过可视化及挑战帮助大家理解Git操作和命令。

学习者可以在交互页面输入各种命令,页面会动态的根据输入命令,以动画的方式展示输入命令之后的效果,下面可以看一个示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c3egIEuq-1669989760103)(https://pic3.zhimg.com/80/v2-a626b04480db920d53ff07cf75d85866_720w.gif)]

通过这种交互式的方式,可以帮助开发人员更加直观的理解每种操作对应的效果,对于加深对Git命令的理解很有帮助。

除了可视化、交互式的方式,它还提供了一些其他功能。

沙盒模式

img

默认情况下,应用程序以“沙盒模式”启动,并已创建基本存储库。在这里您可以输入命令并随心所欲地处理存储库。

你可以在沙盒里做如下操作:

  • undo:撤消上一条命令的效果
  • reset:从头开始
  • git clone:模拟远程仓库

关卡

img

输入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。

img

这款工具在Github上的简介是“无需网络搜索就可以找到正确的Git命令”。

如果说learnGitBranching在可视化方面做的非常贴心,那么Git Explorer则更多偏重命令层面理解。

从名称也可以看得出来,它主要就是一款面向Git的浏览器,简单来说,你只需要在Git Explorer上点击选择你想要的动作,它就可以动态输出相应的命令。

重点是,这些都是正确的命令,就不用上网搜索各种乱七八糟的播客、到处踩坑浪费时间了!

img

以上图为例,分步选择自己想要的操作:

  1. 想要’添加
  2. 添加’一个分支
  3. 添加后’切换到新分支

然后,它就会动态输出用法命令:

git checkout -b <new name>

这个是开发者比较经常会遇到的一种Git使用场景。

img

除此之外,它还有很多更加深入的用法。

比如:

  • cherry-pick
  • configure
  • debug
  • rebase
  • recover

下面再看一下稍微复杂一些的用法:

img

它不仅给出使用命令,还会给出一些用法提示,介绍它如何使用。

因此,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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu18.04下cmake的安装

一.使用安装命令 sudo apt install cmake这种方式安装最为简单&#xff0c;但是&#xff0c;这种方式安装的不是最新版本的Cmake。 我此次安装cmake是因为要编译fastdds&#xff0c;其实之前系统中有cmake&#xff0c;但是在编译fastdds的过程中依然提示我&#xff1a; CMake…

第二证券|千亿巨头飙涨,消费板块掀起涨停潮!

消费板块复苏可期。 外围股市团体大反弹&#xff0c;隔夜纳斯达克指数大涨超4&#xff05;&#xff0c;标普500指数涨超3&#xff05;&#xff0c;道琼斯指数涨逾2%。跟着近两个月来的持续反弹&#xff0c;道琼斯指数自阶段底已反弹超20%&#xff0c;进入技术性牛市。早盘A股同…

留言墙项目【Vue3 + nodejs + express + mysql】——上

创建项目 如何使用 mddir 命令生成目录结构树 规范文件目录 ## 默认目录 |-- undefined|-- .gitignore|-- babel.config.js|-- jsconfig.json|-- package.json|-- README.md|-- vue.config.js|-- yarn.lock|-- 开发文档.md|-- public| |-- favicon.ico| |-- index.html|-…

[激光原理与应用-29]:典型激光器 -1- 固体激光器

目录 第1章 什么是固体激光器 1.1 什么是固体激光器 1.2 固体激光器特点 1.3 特性 1.4 分类 1.5 波长 第2章 固体激光器的组成 2.1 固体工作物质 2.2 激励源 第1章 什么是固体激光器 1.1 什么是固体激光器 用固体激光材料作为工作介质的激光器。 固体激光材料是在作…

老杨说运维 | 想转型的请注意!这几点不容忽视

随着各行各业数字化转型的持续推进&#xff0c;以及信息化建设的不断深入&#xff0c;IT系统规模及复杂程度日趋增长。据IDC预测&#xff0c;2021年中国金融行业IT支出规模&#xff08;包括&#xff1a;软件、硬件、IT服务等&#xff09;达到2186.02亿元&#xff0c;到2025年将…

Go-Excelize API源码阅读(三十九)——SetCellHyperLink

Go-Excelize API源码阅读&#xff08;三十九&#xff09;——SetCellHyperLink 开源摘星计划&#xff08;WeOpen Star&#xff09; 是由腾源会 2022 年推出的全新项目&#xff0c;旨在为开源人提供成长激励&#xff0c;为开源项目提供成长支持&#xff0c;助力开发者更好地了解…

Mysql存储过程和游标的一点理解

最近学习数据库语言sql&#xff0c;学到了存储过程和游标这一块&#xff0c;上课一点没听&#xff0c;可以说是全程懵逼。不过好在有个课后的实验&#xff0c;然而cmd中的报错往往极其粗糙&#xff0c;只会告诉你什么附近有错&#xff08;有时候还是错的&#xff09;&#xff0…

大一新生HTML期末作业 个人旅游图片博客HTML5 用DIV+CSS技术设计的个人网站(web前端网页制作课作业)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

Centos7安装部署openLDAP并springboot集成openLDAP

这里安装部署都是基于docker的&#xff0c;供参考 安装docker 1、yum list docker 2、yum install -y yum-utils device-mapper-persistent-data lvm2 3、yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 4、yum install do…

斐波那契数列的矩阵乘法方法

1、求斐波那契数列矩阵乘法的方法 1.1 斐波那契数列的线性求解&#xff08;O(n)O(n)O(n)&#xff09;的方法 //斐波那契数列&#xff1a;1 1 2 3 5 8 ... int fibonacci(int n) {if (n < 1) return 0;if (n 1 || n 2) return 1;int a 1, b 1, c 0;for (int i 3; i &…

K_A08_002 基于 STM32等单片机驱动MAX1508模块按键控制直流电机正反转加减速启停

目录 一、资源说明 二、基本参数 1、参数 2、引脚说明 3、驱动说明 MAX1508模块驱动时序 对应程序: PWM信号 四、部分代码说明 接线说明 1、STC89C52RCMAX1508模块 2、STM32F103C8T6MAX1508模块 五、基础知识学习与相关资料下载 六、视频效果展示与程序资料获取 七、项目…

[附源码]计算机毕业设计springboot校园生活服务平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

PowerBI工作区连接Log Aanlytics

其实在2021.6月的时候微软已经更新了该功能&#xff0c;通过PowerBI高级容量工作区连接Log Analytics工作区&#xff0c;从而分析历史活动数据。并且在应用市场创建了一个模板应用方便分析日志数据。使用该模板可以&#xff1a; • 观察历史使用趋势 • 按照范围、容量、数据集…

常用通讯电平转换电路整理

常用通讯电平转换电路整理5V转3.3V 当5V端信号为低电平时&#xff0c;R4不导通&#xff0c;Q5基极高电平&#xff0c;Q5导通&#xff0c;Q5的集电极被拉低&#xff0c;3.3V端被拉低。R6在Q5导通时起到限流作用。 优势&#xff1a; 便宜&#xff1a;三极管容易常见并且容易采购&…

LOLBins免杀技术研究及样本分析

一、前言 自病毒木马诞生起&#xff0c;杀毒软件与病毒木马的斗争一直都没有停止过。从特征码查杀&#xff0c;到现在的人工智能查杀&#xff0c;杀毒软件的查杀技术也是越来越复杂。但是病毒木马却仍然层出不&#xff0c;这是因为大部分病毒木马使用了免杀技术。 免杀技术全称…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校教师工作量的核算的设计与实现g6ipj

大学计算机专业毕业的&#xff0c;实际上到了毕业的时候&#xff0c;基本属于会与不会之间。说会&#xff0c;是因为学了整套的理论和方法&#xff0c;就是所谓的科班出身。说不会&#xff0c;是因为实践能力极差。 不会的问题&#xff0c;集中体现在毕设的时候&#xff0c;系…

2023年天津天狮学院专升本市场营销专业《市场营销学》考试大纲

2023年天津天狮学院高职升本市场营销专业入学考试《市场营销学》考试大纲一、考试性质 《市场营销学》专业课程考试是天津天狮学院市场营销专业高职升本入学考试的必考科目之一&#xff0c;其性质是考核学生是否达到了升入本科继续学习的要求而进行的选拔性考试。《市场营销学》…

【图像分割】DeepLabV3+

文章目录0. 介绍1. DeepLabV32. 结论3. 参考0. 介绍 DeepLabV3文章&#xff1a;https://arxiv.org/pdf/1802.02611.pdf DeepLabV3代码&#xff1a;https://github.com/VainF/DeepLabV3Plus-Pytorch 语义分割的两个主要问题&#xff1a; 物体的多尺度问题。多次下采样会造成特…

ABAP 计算时间差

源码 FUNCTION zfm_date_difference. *“---------------------------------------------------------------------- "“本地接口&#xff1a; *” IMPORTING *” VALUE(IV_DATE_BEG) TYPE SY-DATUM *" VALUE(IV_TIME_BEG) TYPE SY-UZEIT *" VALUE(IV_DATE_END)…

【赛后总结】第十三届服务外包创新创业大赛总结——A14

目录前言组队&#xff06;选题分工&项目推进提交材料&项目答辩区域赛初赛区域赛决赛全国总决赛写在最后前言 先摆两个参赛视频 初赛视频 决赛视频 比赛已经过去几个月了&#xff0c;也算是想起来这个比赛可以写一个总结了。在历时8个月左右的时间之后&#xff0c;我们…