【Git】1. Git概述

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。

Git易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。
性能要优于Subversion、CVS、Perforce、ClearCase等版本控制工具。
附上官网

一、什么是版本控制

版本控制就是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。其实最重要的就是可以记录文件修改历史记录,从而让用户可以查看历史版本,方便版本切换。

那么为什么要用版本控制,其实是为了更好的团队协作。比如一个项目的代码文件,不止你一个人在写,那么你先提交之后,别人的那份没你的代码,当他再次提交,你的代码就
被覆盖掉了。

二、集中式和分布式

版本控制工具大概可以分为2类:集中式和分布式。

何为集中式?
比如SVN,会有一个单一的集中管理的服务器,保存了所有文件的修订版本。所有参与协同工作的人都通过客户端连接这台服务器,取出最新的文件,或者提交更新文件。
这种系统有个非常大的缺点,那就是中央服务器的单点故障,比如宕机了1小时,那么这一小时里谁都没法提交更新,也就没法协同工作。

何为分布式?
Git这种即为分布式版本控制工具,客户端首先从远程仓库把代码仓库完整的克隆下来到本地库,从而可以在本地进行版本的控制。就算远程服务器挂掉了也可以进行开发,
只是没办法把本地代码推送到远程仓库而已。另外,每个人clone到本地都是一个完整的项目,里面包含了历史记录等,更加安全,再也不怕单点故障问题。

三、git工作机制

git功能强大,但是工作机制并不复杂,毕竟Linus只花了2周时间就一个人开发完了git系统。你说啥?Linus是谁?

林大佬就是linux之父,所以git跟linux系统是一个爸爸。期初在长达10年的时间里,林大佬都是自己手动去合linux的代码的,后来提交代码的人越来越多,自己合实在
太累了。后来有个公司开发了一个版本控制的商业软件,出于人道主义就免费给linux社区使用,只要别破解就行。但是后来还是有个程序员破解了它,使用权被公司收回了,
无奈之下,林大佬只能用C语言开发了这个分布式版本控制系统了。

  • 工作区:就是我们写代码的地方,具体指代码存放的磁盘目录的位置。
  • 暂存区:为了让git能追踪到你在工作区写的代码,要把代码添加到暂存区。
  • 本地库:把暂存区的代码提交到本地库,就会生成对应的历史版本了,这个历史版本是删不掉的。

四、git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般称为远程库。比如,基于互联网的GitHubGitee,和基于局域网的GitLab

当代码提交到本地库后,就可以推送到远程库了,也就是用git push命令。

五、安装

安装就不说了,打开官网,下载对应系统的最新版本,一路默认安装就行了。

下一章整理git常用命令。

--不要用肉体的勤奋,去掩盖思考的懒惰--
原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/14737374.html