Pro Git第一章学习笔记:起步(版本控制简介)、git的安装和配置等


详细了解git强烈推荐Pro Git中文版本

1.1 版本控制系统

1.1.1 定义

  版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。任何类型的文件,只要他们需要进行更新,进行版本控制都是很有帮助的。
  版本控制意味着记录每一次文件的修改(修改的内容和原因),你可以将选定的文件回溯到之前任意版本的状态。

1.1.2 不同版本控制系统

本地版本控制系统 集中化的版本控制系统 分布式版本控制系统
  从左到右依次是本地版本控制系统(Local Version Control Systems)、集中化的版本控制系统(Centralized Version Control Systems,CVCS)、分布式版本控制系统(Distributed Version Control System, DVCS)
  本地版本控制系统在本地使用简单的数据库记录文件的历次更新差异,最流行的叫RCS,原理是在硬盘上保存补丁集,通过应用补丁来计算各个版本的文件内容。如今许多计算机系统上都还看得到它的踪影
  CVCS让不同系统的开发者协同工作,管理员可以轻松掌控每个开发者的权限。
  DVCS客户端不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。该类系统包括Git、Mercurial、Bazaar 以及 Darcs 等

1.2 git简介

1.2.1 git简史

  Linux 内核开源项目有着为数众多的参与者。 1991-2002年之间,绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
  2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:
  1. 速度
  2. 简单的设计
  3. 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  4. 完全分布式
  5. 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
  诞生以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统

1.2.2 git简介

存储每个文件与初始版本的差异 存储项目随时间改变的快照
  git和其他版本控制系统的主要差别在git对待数据的方法,大多数版本控制系统是基于差异的(delta-based),如CVS、Subversion、Perforce、Bazaar 等等。这些系统将它们存储的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
  在 Git 中,每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。 为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
  Git 中的绝大多数操作都只需要访问本地文件和资源
  Git 保证完整性。Git 中所有的数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。
  Git 操作几乎只往 Git 数据库中添加数据。因此一旦你提交快照到 Git 中, 就难以再丢失数据

1.2.3 git的状态和工作流程

  git的三种状态是使用git最重要的事情(之一)了。Git 有三种状态: 已提交(committed)、已修改(modified) 和 已暂存(staged)。
  - 已修改表示修改了文件,但还没保存到数据库中。
  - 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  - 已提交表示数据已经安全地保存在本地数据库中。

   基本的git工作流程为:
  - 在工作区中修改文件。
  - 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
  - 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

1.3 安装配置

1.3.1 git使用方式

  可以使用原生的命令行模式,也可以使用 GUI 模式命令行模式才是王道。

1.3.2 git安装

  去官网下载安装

1.3.3 git的配置信息

  Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:/etc/gitconfig, ~/.gitconfig 或 ~/.config/git/config 文件, 当前仓库的 Git 目录中的 config 文件(即 .git/config)。分别是操作系统每个用户的通用配置、当前用户的通用配置、当前仓库的配置。修改时分别传递--system, --global, --local
  在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users\$USER )的 .gitconfig 文件。
  你可以通过以下命令查看所有的配置以及它们所在的文件:
$ git config --list --show-origin

1.3.4 配置用户信息

  安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改(注意是不能修改之前版本的信息,而非不能修改配置):
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

1.3.5 检查配置信息

  使用git config --list列举当前git的配置,使用如git config user.name查看某一项配置

1.4 获取帮助

  使用 git help [verb], git [verb] --help, man git-[verb] 来查找git命令的手册,如git help config得到git config的命令手册。
  获取简短的用法使用-h参数,如想得到git add的帮助命令行输入git add -h
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值