美文网首页
Git 学习笔记之起步篇——相关知识简介

Git 学习笔记之起步篇——相关知识简介

作者: sylvia_yue | 来源:发表于2018-03-13 17:11 被阅读0次

    1. 起步

    1.1了解版本控制

    Git 常用于版本控制,那么何为版本控制?
    版本控制——记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。
    有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出是谁更改了哪个地方,找出出现问题的原因等。

    • 本地版本控制系统
      采用某种简单的数据库来记录文件的历次更新差异,无法做到多人协同工作。
    • 集中化的版本控制系统
      服务器集中管理,,保存所有文件的修订版本,协同工作的人们通过客户端连接到这台服务器,取出最新的文件或提交更新。
      优点:每个人可在一定程度上看到项目其他人在做什么,管理员也可以轻松掌握每个开发者权限,且远比在各个客户端上维护本地数据库轻松。
      缺点:若中央服务器出现故障,则协同人员无法工作,若磁盘损坏又没有恰当备份,则将丢失所有数据,只剩下各自机器上的数据。
    • 分布式版本控制系统
      客户端不止提取最新版本文件快照,而是将代码仓库完整地镜像下来,即使服务器发生故障,本地仍有数据,可从本地仓库回复。
      即每次克隆操作,都是一次对代码仓库的完整备份。
      且许多这类系统都可以指定和若干不同的远端代码仓库进行交互。

    1.2 Git 简介

    • 直接记录快照,而非差异比较
      Git 更像一个小型的文件系统,每一次提交或进行其他操作时,Git 会对当时的全部文件制作一个快照并保存这个快照的索引,若文件没有更改,不再重新存储,保留一个链接指向之前存储的文件。
      即指向所有当前版本的最新文件。

    • 近乎所有操作都是本地执行
      因为每次克隆时都将数据全部拷贝,所以执行的绝大多数操作都是需要访问本地文件和资源,效率高;
      且及时你离线或没有 VPN 时,几乎也可以进行任何操作。

    • Git 保证完整性
      Git 中所有数据在存储前都会进行校验,因此不可能在 Git 不知情时更改任何文件内容或目录内容。即所有操作都会被记录。

    • Git 一般只添加数据
      你执行的 Git 操作,几乎只往 Git 数据库中增加数据,很难让 Git 执行任何不可逆操作或是以任何方式清除数据。

    • 三种状态:Git 仓库、工作目录、暂存区域

      三种状态示意图
      1)工作目录
      对项目的某个版本独立提取出来的内容,放在磁盘上供开发者使用或修改
      2)Git 仓库
      Git 用来保存项目的元数据和对象数据库的地方。Git最重要的存储数据的部分。
      3)暂存区域
      一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库中。
      基本的 Git 工作流程:
      工作目录中修改文件 => 文件快照存放到暂存区 => 提交更新,找到暂存区的文件,永久存储到 Git 仓库

    1.3 命令行

    Git 有多种使用方式,可使用原生命令行模式,也可使用 GUI 模式。
    但只有在命令行模式下才能执行 Git 的所有命令,而大多数的 GUI 软件只实现了 Git 所有功能的一个子集以降低操作难度。

    1.4 安装 Git

    安装包下载地址:https://git-scm.com/downloads,下载后直接安装即可

    1.5 初次运行 Git 前的配置

    Git 自带 git config 工具来设置控制 Git 外观和行为的配置变量。这些变量存储在三个不同位置:
    1. /etc/gitconfig 文件:——包含系统上每一个用户及他们仓库的通用配置。
    对应 git config --system
    2. ~/.gitconfig 或 ~/.config/git/config 文件:——只针对当前用户。
    对应 git config --global
    3. 当前实用仓库的 Git 目录中的 config 文件(.git/config):——针对该仓库
    每一个级别覆盖上一级别的配置。
    在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users$USER)的 .gitconfig 文件。 Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置

    1.5.1 用户信息

    安装完 Git 后应首先配置你的用户名和邮件地址。因为每一个 Git 的提交都会使用这些信息,且会写入到你的每一次提交中,不可更改。

    git config --global user.name "John Doe" 
    it config --global user.email johndoe@example.com 
    

    注: 使用了 --global,则该命令运行后,无论你在该系统上做任何事情,Git 都会使用那些信息。若你想针对特定项目使用不同的用户名称和邮件地址,可以在特定项目目录下运行没有 --global 选项的命令进行配置。eg:

    git config user.name "Tony" 
    
    1.5.2 文本编辑器

    Git 需要你输入信息时会调用文本编辑器,默认为 Vim,你可以通过
    git config --global core.editor editorname 来进行配置。则调用时会调用你配置过的文本编辑器。

    1.5.3 检查配置信息

    git config --list可查看当前 Git 的全部配置。
    git config <key>来查看某一项配置,例如:git config user.name

    1.5.4 获取帮助

    当你使用 Git 需要帮助时,以下三种方法可以找到 Git 命令的使用手册:

    git help <verb>
    git <verb> --help
    man git-<verb>
    

    例如:
    git help config 可获得 config 命令的手册。

    本文参考:https://git-scm.com/book/zh/v2

    相关文章

      网友评论

          本文标题:Git 学习笔记之起步篇——相关知识简介

          本文链接:https://www.haomeiwen.com/subject/znwafftx.html