Git起步

简介

Git是一个开源的分布式版本控制系统,能够对任何类型的文件进行版本控制。html

特色

  • 直接记录快照,而非差别比较git

    大部分系统都是以文件变动列表的方式存储每一个文件与初始版本的差别,算法

    Git则把数据看做是对小型文件系统的一组快照,在文件发生变动时对当时的所有文件制做一个快照并保存这个快照的索引,造成一系列快照流;安全

  • 近乎全部操做都是本地执行ruby

    在Git中的绝大多数操做都只需访问本地文件和资源,通常不须要来自网络的其它信息,由于在本地磁盘上就有项目的完整历史;网络

  • 保证完整性分布式

    Git中全部数据在存储前都经过SHA-1哈希算法计算校验和,而后以校验和来引用,这意味着不可能在Git不知情的状况下更改任何文件内容;工具

  • 通常只添加数据版本控制

    执行的Git操做几乎只往Git仓库中增长数据,很难让Git执行任何不可逆操做,或者让它以任何方式清除数据。code

状态转换

Git有三种状态:

  • 已修改:表示修改了文件,但还没保存至Git仓库;
  • 已暂存:表示对一个已修改文件的当前版本作了标记,使之包含在下次提交的快照中;
  • 已提交:表示文件已经安全的保存至Git仓库。

与之对应,Git项目具备如下三个工做区域:

  • 工做目录:对项目某个版本独立提取出来的内容,放在磁盘以供修改与使用;
  • 暂存区域:是一个文件,保存下次将提交的文件列表信息;
  • Git仓库:Git用来保存项目元数据和文件对象的仓库。

工做流程

  1. 在工做目录中修改文件;
  2. 暂存文件,将文件快照放入暂存区域;
  3. 提交更新,找到暂存区域的文件,将文件快照永久性存储到Git仓库。

安装

在Ubuntu系统中安装Git:

$ sudo apt-get install git

配置

Git经过git config工具来帮助设置控制Git外观和行为的环境变量,这些变量保存在如下三个地方:

  • /etc/gitconfig:包含系统上每个用户及其仓库的通用配置,可以使用git config --system读写配置变量;
  • ~/.gitconfig:只针对当前用户,可以使用git config --global读写配置变量;
  • 当前仓库.git目录中的config文件:只针对该仓库,可以使用git config读写配置变量。

上述文件,每个级别都会覆盖上一个级别的配置。

设置当前用户的用户名与Email地址:

$ git config --global user.name "username"
$ git config --global user.email "username@example.com"

查看配置信息:

$ git config --list

参考资料

相关文章
相关标签/搜索