26k Star, 理解Git太轻松了。。。

news2025/7/14 18:05:14

程序员宝藏库:gitee.com/sharetech_lee/CS-Books-Store

Git是目前使用比较广泛一款版本控制工具,从事开发工作,很难绕开Git。

因此,关于如何快速学习Git使用一直都是一个经久不衰的话题。

前不久我在另外一篇文章中曾提到Git对初学者不太友好,学习成本较高,还有一些杠精在评论说”如果连Git这一款工具都不会用,就不要从事开发工作了!“

对于这种评论我一般都会选择不回复,总有一些奇葩的人喜欢发表一些奇葩的言论。

我认为,并不是每个人生来就拥有3年或者5年的开发经验,就像人说话也需要一个从不会到会的过程,对于一款工具的使用同样时这样,何况Git相对很多常规工具本身就需要更多的学习成本。

有点扯远了,再回到Git学习的问题上。

有不少同学在使用Git的过程中都会遇到这样那样的问题,因此,关于Git学习的工具、资源一直层出不穷。

img

今天就来给大家介绍另外一款开源工具–LearnGitBranching,目前在Github已经26k+Star,它或许不是最好的,但是在我看来它非常特别,而且对于理解Git命令有很大的帮助。

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

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

通过这种交互式的方式,可以帮助开发人员更加直观的理解每种操作对应的效果,对于加深对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

建议大家有空可以多浏览Github,有很多好用的开源免费工具。但是,目前Github上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。这里,给大家推荐Github上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖C++、JAVA、JavaScript、Python、Go等不同编程语言。此外,还有一些开源工具、优秀的技术文章:

https://github.com/Jackpopc/DevWeekly

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

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

相关文章

【药材识别】基于色差色温特征结合SVM实现药材炮制程度判断系统附GUI界面

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

十九种卷积

参考文章:一文看尽深度学习中的20种卷积(附源码整理和论文解读) - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/381839221 一、原始卷积(Vanilla Convolution) CNNs中的卷积,也称为滤波器,是由一组具有固定窗口大小且带可学习参数(learnable paramerters)的卷积核所组…

Java之IO流详解(一)——File类

一、File类创建文件 方法说明public boolean createNewFile()当具有该名称的文件不存在时,创建一个由该抽象路径命名的新空文件public boolean mkdir()创建由此抽象路径命名的目录public boolean mkdirs()创建由此抽象路径命名的目录,包括任何必须但不存…

Go常见错误第15篇:interface使用的常见错误和最佳实践

前言 这是Go常见错误系列的第15篇:interface使用的常见错误和最佳实践。 素材来源于Go布道者,现Docker公司资深工程师Teiva Harsanyi。 本文涉及的源代码全部开源在:Go常见错误源代码,欢迎大家关注公众号,及时获取本…

加载配置文件内容利用反射动态创建对象和调用方法(开闭原则的体现)

反射的应用:根据配置文件来创建对象和调用方法 需求:1,根据配置文件re.properties 指定的信息,创建对象并调用方法 classfullpathsrc.com.liu.Cat methodhi 即通过外部文件配置,在不修改源码的情况下,来控…

GAN详解

前言 GAN是当今作为火热的生成式算法,由Ian Goodfellow,Yoshua Bengio等人在2014年提出的,Yan LeCun表示道GAN是“adversarial training is the coolest thing since sliced bread”。它使用两个神经网络,将一个神经网络与另一个…

ArcGIS中ArcMap栅格图层0值设置为NoData值的简便方法

本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。 在处理栅格图像时,有时会发现如下图所示的情况——我们对某一个区域的栅格数据进行分类着色后,其周边区域(即下图中浅蓝色的区域)原本应…

C语言学习记录(十五)C预处理器和C库

文章目录一、C预处理器1.1 翻译程序1.2 明示常量:#define1.3 在#define中使用参数1.4 文件包含:#include1.5 其他指令1.5.1 #undef指令1.5.2 从C预处理角度看已定义1.5.3 条件编译1.5.3.1 #ifdef、#else和#endif指令1.5.3.2 #ifndef1.5.3.3 #if和elif指令…

Gof23-创建型-工厂-单例-抽象工厂-建造-原型以及UML的绘制

创建型的设计模式工厂模式单例模式抽象工厂建造者模式原型模式UML图形的绘制工厂模式 工厂模式 Factory Pattern 适用的场景:统一的接口作为统一的零件,实现类作为零件的组合,将实例产品类的生产交给工厂,用户只需要面对工程提取…

XML的创建和读取

rapidxml是一个快速的xml库,由C模板实现的高效率xml解析库,同时也是boost库的property_tree的内置解析库。 当使用rapidxml时,只需要把rapidxml.hpp 、 rapidxml_print.hpp 和 rapidxml_utils.hpp 三个文件拷贝到你的工程目录下,就…

Pytorch中KL loss

1. 概念 KL散度可以用来衡量两个概率分布之间的相似性,两个概率分布越相近,KL散度越小。 上述公式表示P为真实事件的概率分布,Q为理论拟合出来的该事件的概率分布。D(P||Q)(P拟合Q)和D(Q||P)(Q拟合P&…

ajax之Content-Type示例

参考资料: Content-Type详解【SpringBoot】SpringBoot接收请求的n种姿势 目录前期准备0. Content-Type概念解释1. application/x-www-form-urlencoded1.1 form表单示例1.2 jQuery的ajax示例2. application/json2.1 指定contentType为json,不使用RequestBody接收2.2 不指定cont…

01 OSI七层网络排查 troubleshooting 思路及对应工具

文章目录1 .前言2. OSI 的七层模型,和 TCP/IP 的四层 / 五层模型区别2.1 网络专业术语2.2 TLS 解释2.3 什么是TCP 流?3. 网络各层排查工具3.1 应用层3.1.1 浏览器的开发者工具3.1.1.1 找到有问题的服务端IP3.1.1.2 辅助排查网页慢的问题3.1.1.3 解决失效…

嵌入式数据库sqlite3

一、数据库 数据库的基本概念 常用的数据库 大型数据库 Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。 IBM 的DB2是第一个具备网上功能的多媒体关系数据库管理系统,支…

bootstrap学习(四)

bootstrap中图片、按钮、表单 按钮: 不加样式的按钮: 在bootstrap中a标签也可以生成按钮: 默认按钮尺寸可以不加,它是自动显示默认尺寸 加btn-block:class 图片: 表单: 垂直表单:…

【语音识别】MFCC+VAD端点检测智能语音门禁系统【含GUI Matlab源码 451期】

⛄一、MFCC简介 1 引言 语音识别是一种模式识别, 就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。语音识别技术主要包括特征提取技术、模式匹配准则及模型训练技术3个方面。目前一些语音识别系统的适应性比较差, 主要体现在对环境依赖性强, 因此要提高…

[mysql] 深入分析MySQL版本控制MVCC规则--实测 (mysql 8.0 innodb引擎)

背景:基于之前的一篇文章 可重复读:可重复读隔离级别的实现是每个事务在打开时都会生成一个一致的视图。 当其他事务提交时,不会影响当前事务中的数据。 为了保证这一点,MySQL是通过多版本控制机制MVCC来实现的; 我们亲…

Go语言面试题合集(2022)

基础语法 Go 支持默认参数或可选参数吗? 不支持。但是可以利用结构体参数,或者…传入参数切片数组。 // 这个函数可以传入任意数量的整型参数 func sum(nums ...int) {total : 0for _, num : range nums {total num}fmt.Println(total) }Go 语言 tag…

pandas算术运算、逻辑运算、统计运算describe()函数、统计函数、累计统计函数及自定义函数运算

一、pandas算术运算 直接对数据进行加、减、乘、除等运算,可使用函数add()、sub()、mul()、div()或、-、、 代码如下 数据生成 import pandas as pd import numpy as np# 数据生成代码 num np.random.randint(50, 100, (3, 5))# 传入标签索引 column [第一列, …

[hadoop全分布部署]安装Hadoop、配置Hadoop 配置文件①

👨‍🎓👨‍🎓博主:发量不足 个人简介:耐心,自信来源于你强大的思想和知识基础!! 📑📑本期更新内容:安装Hadoop、配置Hadoop 配置文件…