Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Qingquan-Li opened this issue Oct 7, 2017 · 0 comments
Open

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

Qingquan-Li opened this issue Oct 7, 2017 · 0 comments
Labels

Comments

@Qingquan-Li
Copy link
Owner

Qingquan-Li commented Oct 7, 2017

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

  • 利:
    每个人都可以在一定程度上看到项目中的其他人正在做些什么。 而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。

  • 弊:
    如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问你将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。

分布式版本控制系统

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

dvcs

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

@Qingquan-Li Qingquan-Li added the Git label Oct 7, 2017
@Qingquan-Li Qingquan-Li changed the title Git_1 了解 Git Git_1 了解 Git(git --version) Jun 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant