Qingquan-Li / blog

My Blog
https://Qingquan-Li.github.io/blog/
132 stars 16 forks source link

Git_1 了解 Git(git --version) #61

Open Qingquan-Li opened 7 years ago

Qingquan-Li commented 7 years ago

Git 系列博文参考 https://git-scm.com/book/zh/v2

Git教程 | 图文讲解原理并在线练习Git命令

使用开发环境为 macOS


安装 Git

安装

  1. https://git-scm.com/downloads
  2. macOS 安装 Git:安装 Homebrew 后运行 brew install git

查看 Git 版本

git --version

升级

  1. 使用 Git 来获取 Git 的升级: git clone git://git.kernel.org/pub/scm/git/git.git
  2. 安装 Homebrew 后运行 brew upgrade git


Git 特点

近乎所有操作都是本地执行(不需一直联网)

在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。 如果你习惯于所有操作都有网络延时开销的集中式版本控制系统,Git 在这方面会让你感到速度之神赐给了 Git 超凡的能量。 因为你在本地磁盘上就有项目的完整历史,所以大部分操作看起来瞬间完成。

举个例子,要浏览项目的历史,Git 不需外连到服务器去获取历史,然后再显示出来——它只需直接从本地数据库中读取。如你在飞机或火车上想做些工作,你能愉快地提交,直到有网络连接时再上传。

分布式

集中化的版本控制系统

如何让在不同系统上的开发者协同工作? 于是,集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生。 这类系统,诸如 CVS、Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

CVCS

分布式版本控制系统

于是分布式版本控制系统( Distributed Version Control System,简称 DVCS )面世了。 在这类系统中,像 Git、Mercurial、Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

dvcs

更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,就可以在同一个项目中,分别和不同工作小组的人相互协作。 可以根据需要设定不同的协作流程,比如层次模型式的工作流,而这在以前的集中式系统中是无法实现的。