34 史上最棒的 Git 交互式动画模拟学习

简介: 34 史上最棒的 Git 交互式动画模拟学习

一、网址

Learn Git Branching


二、前言

学习前提条件:你得知道 Git 是什么,简单的应用过

受众:职场小白,其他 Git 不熟悉的职场老炮

学习目标:Git 叱咤风云,团队大佬

学习难度:⭐

价值:⭐⭐⭐⭐⭐

联动:配合这个一起学习,更有感觉 10 副 GiT 动图图

进阶:Gitlab 工作流

三、简介

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。   也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper  。


3.1 一般开发者

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。


2、在自己的机器上根据不同的开发目的,创建分支,修改代码。


3、在单机上自己创建的分支上提交代码。


4、在单机上合并分支。


5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。


6、生成补丁(patch),把补丁发送给主开发者。


7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。


8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。


3.2 主开发者

1、查看邮件或者通过其它方式查看一般开发者的提交状态。


2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。


3、向公共服务器提交结果,然后通知所有开发人员。


3.3 优点

适合分布式开发,强调个体。


公共服务器压力和数据量都不会太大。


速度快、灵活。


任意两个开发者之间可以很容易的解决冲突。


离线工作。


3.4 缺点

资料少(起码中文资料很少)。


学习周期相对而言比较长。


不符合常规思维。


代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。


附录

Git 与 SVN 区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。


如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

Git 与 SVN 区别点:


1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。


2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。


3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。


4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。


5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。




皮格马利翁效应心理学指出,赞美、赞同能够产生奇迹,越具体,效果越好~“收藏夹吃灰”是学“器”练“术”非常聪明的方法,帮助我们避免日常低效的勤奋~
相关文章
|
8月前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
74 0
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
613 0
|
2月前
|
开发工具 git
学习Git的最佳实践有哪些?
遵循这些最佳实践,能让你更高效地使用 Git,更好地管理项目的版本和协作。
|
2月前
|
存储 开发工具 git
Git 学习----基本概念
理解这些基本概念是掌握 Git 操作的重要基础,它们为有效地管理项目的版本和开发过程提供了支持。通过不断实践和使用 Git,开发者可以更加高效地协作和管理项目的演变
|
7月前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
77 1
|
3月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
161 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
3月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
205 1
git学习三:git使用:删除仓库,删除仓库内文件
|
3月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
432 0
|
3月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
109 0
|
8月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
222 0