首页 > 其他 > 详细

git

时间:2020-05-30 10:10:51      阅读:41      评论:0      收藏:0      [点我收藏+]

Git 基本介绍

Git 是什么?

Git 是一个分布式版本控制系统。Git 是 linus 为了帮助管理 Linux 内核开发,使用 C 语言开发的一个软件版本控制软件。

 

什么是版本控制?

版本控制是一种记录一个或若干个文件内容变化、以便将来查阅特定版本修订情况的系统。有了它就可以随时将某个文件回溯到之前的状态,甚至将整个项目回退到之前的某个节点。还可以比较文件变化的细节(只能记录文本文件的细节,对于像 word 等二进制文件,只能记录文件发生变化,而不知具体什么变化)。

 

为什么使用 Git ,而不是其他的版本控制系统?

 

本地版本控制系统

Local Version Control Systems,简称 VCS。

 

许多人通过复制整个项目目录的方式保存不同的版本,有的还会通过改名或者加上时间以示区分。

这么做的好处就是简单。但是容易犯错,有时候会混淆所在的工作目录,一不小心会写错文件或者会意外覆盖文件。

为了解决这个问题,人们开发了许多版本控制系统,大多数采用数据库记录文件的历次更新差异(补丁集,补丁-文件修改前后的变化),通过应用所有的补丁,可以计算出各个版本的文件内容。代表软件是 rcs。

集中化版本控制系统

Centralized Version Control Systems,简称 CVCS。

为了解决上述问题,出现了集中化版本控制系统。如 CVSSubversion(简称 SVN) 等。他们都有一个集中管理的服务器,保存所有文件的修订版本,而协同工作的人都通多客户端连接到这台服务器上,去除最新文件或者提交更新。

相较于老式的 VCS,现在可以

  • 看到每个人在项目中做些什么
  • 管理员可以轻松的掌控每个开发者的权限
  • 管理一个 CVCS 远比在各个客户端维护本地数据库轻松,提高了效率

 

随着时间的推移,人们又发现了问题:

  • 中央服务器单点故障,导致代码丢失,只剩下人们在各自机器上的单独快照
  • 中央服务器宕机,导致谁都无法提交工作内容,也就无法协同工作。

 

分布式版本控制系统

Distributed Version Control Systems,简称 DVCS。

 

为了解决上述问题,出现了 分布式版本控制系统,如 Git、Mercurial、BitKeeper 等,客户端不只保存最新的文件快照,而是把代码仓库完整的镜像下来。如果任何一处协同工作的服务器发生故障,事后都可以用任何一个镜像恢复,因为一次克隆操作就是一次代码的完整拷贝。并且,这类系统可以指定和若干个不同的远端代码仓库进行交互。可以根据需要设定不同的工作流程。

git

原文:https://www.cnblogs.com/MyCode1990/p/12990670.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!