git 起步

Git起步


1. 版本控制

版本控制主要包含三种:本地版本控制系统、集中式版本控制系统、分布式版本控制系统

1.1 本地版本控制系统

其中最流行的一种叫做 rcs,现今许多计算机系统上都还看得到它的踪影。甚至在流行的
Mac OS X 系统上安装了开发者工具包之后,也可以使用 rcs 命令。它的工作原理基本
上就是保存并管理文件补丁(patch)。文件补丁是一种特定格式的文本文件,记录着对应
文件修订前后的内容变化。所以,根据每次修订后的补丁,rcs 可以通过不断打补丁,计
算出各个版本的文件内容。

本地版本控制系统

1.2 集中式版本控制系统

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

集中式版本控制
该系统的最大缺点是中央服务器的单点故障。而且分支管理复杂,大型项目中分支合并简直是一种灾难。

1.3 分布式版本控制系统

于是分布式版本控制系统( Distributed Version Control System,简称 DVCS )面世了。
在这类系统中,诸如 Git,Mercurial,Bazaar 还有 Darcs 等,客户端并不只提取最新
版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同的提取
操作,实际上都是一次对代码仓库的完整备份。

分布式版本控制系统

你可以根据需要设定不同的协作流程,比方说层次模型式的工作流,这在以前的集中式系统
中是无法实现的。
git分支管理和分支合并简单操作就可完成。

2. Git历史

在开发Linux的过程中,大神 Linus Torvalds觉的其他版本控制系统不好用,好用的又要
收费,于是自己开发了Git。
开发前,大神订了几个目标:
  • 速度快
  • 设计简单
  • 对非线性开发模式强力支持(允许上千分支并行开发)
  • 完全分布式
  • 有能力高效管理类似Linux内核一样的超大项目(速度和数据量)

3. Git特色

3.1直接拷贝快照,而非差异

实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新
时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索
引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一连接。

Git工作过程

3.2几乎所有操作都可本地执行

本地操作,所以很快。

3.3时刻保持数据的完整性

Git对所有文件使用SHA-1进行内容校验和,生产指纹字符串。该字符串有40个16进制字符组成。一旦文件内容发生变化,Git能立即察觉。

3.4高可靠性

一旦提交数据快照,就完全不用担心丢失。

3.5三种状态变化

Git有三种工作区域:本地工作目录、暂存区、本地仓库

三种工作区域


4. Git初始配置

git config --system  系统层次配置,对所有用户生效
git config --global 用户层次,对当前用户生效
项目.git/config 对项目生效
git config --list 列出已有配置

5. 获取帮助

git help config
git config --help

猜你喜欢

转载自blog.csdn.net/qq_27623337/article/details/79232555