Git 原理

胖大海
• 阅读 264

简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

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 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

  • Git 原理

  • Git 工作流程

  • 一般工作流程如下:

    • 克隆 Git 资源作为工作目录。
    • 在克隆的资源上添加或修改文件。
    • 如果其他人修改了,你可以更新资源。
    • 在提交前查看修改。
    • 提交修改。
    • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
  • 下图展示了 Git 的工作流程:

  • Git 原理

  • 大家快来一起学习GIT分布式版本控制系统,缺乏机器练手的小伙伴可以去 cnaaa 看一看!

点赞
收藏
评论区
推荐文章
Andrew703 Andrew703
3年前
快速实现在linux系统上安装Git
一.git介绍Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便
菜园前端 菜园前端
1年前
程序员必备-了解Git
原文链接:什么是Git?git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。可以理解为git就是一个代码管理的仓库。指导在学习一个新知识的时候,我们主要围绕这个思想去学习,就是为什么要学习这个新技术/知识,它的出现有什么作用?带来了
Stella981 Stella981
2年前
Github管理自己的代码
一、名词解释GitGit是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Github
Stella981 Stella981
2年前
GitHub for Windows的简单用法
Git是一个分布式的版本控制系统,最初由LinusTorvalds编写,用作Linux内核代码的管理。作为一个程序员,我们需要掌握其用法。作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。其联合创始人ChrisWanstrath曾
Stella981 Stella981
2年前
Android Studio版本控制
Git简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。特点:分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(gitclone),在本地机器上拷贝一个完整的Git仓库。下图是经典的git开发过程。!磨砺营(https://static.oschina.net/uploads/im
Stella981 Stella981
2年前
Git和GitHub的基本操作
GIT版本控制系统版本控制系统功能:1.记录版本历史信息(记录每一次修改的记录)2.方便团队之间相互协作开发3.远程开发......常用的版本控制系统cvs/svn:集中式分布系统git:分布式版本控制系统1.GIT工作原
Stella981 Stella981
2年前
CentOS下使用yum安装Git具体步骤
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git是用于Linux内核开发的版本控制工具。与常用的CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布
Stella981 Stella981
2年前
Git基础命令篇
一、Git介绍(1)Git是一个开源(LinusTorvalds为了帮助管理Linux内核开发而开发)的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,与常用的版本控制工具CVS,SVN等不同,它采用了分布式版本库的方式,不必服务器端软件支持。(2)Git的工作区、暂存区和版本库:工作区:就
Damumu Damumu
1年前
Git安装详细教程
Git是一个开源的分布式版本控制系统Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git与SVN区别Git不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。Git与SV
小万哥 小万哥
10个月前
Git入门指南:从新手到高手的完全指南
Git是一种强大的分布式版本控制系统,广泛应用于软件开发中。它的使用不仅可以帮助开发团队更好地管理代码,还可以提高团队协作效率和代码质量。随着软件开发的不断发展,版本控制成为了程序员必备的一项技能。Git作为最流行的分布式版本控制系统,被广泛地应用于软件开
胖大海
胖大海
Lv1
故园东望路漫漫,双袖龙钟泪不干。
文章
62
粉丝
3
获赞
28