初识Git

作者: 码而优则仕 | 来源:发表于2020-07-28 15:58 被阅读0次

    Git基础

    Git 中所有的数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件 内容或目录内容。 这个功能建构在 Git 底层,是构成 Git 哲学不可或缺的部分。 若你在传送过程中丢失信息或损 坏文件,Git 就能发现。

    Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组 成的字符串,基于 Git 中文件的内容或目录结构计算出来。 SHA-1 哈希看起来是这样:

    24b9da6552252987aa493b52f8696cd6d3b00373
    

    Git 中使用这种哈希值的情况很多,你将经常看到这种哈希值。 实际上,Git 数据库中保存的信息都是以文件内 容的哈希值来索引,而不是文件名。

    现在请注意,如果你希望后面的学习更顺利,请记住下面这些关于 Git 的概念。 Git 有三种状态,你的文件可能 处于其中之一: 已修改(modified) 已暂存(staged)和已提交(committed)

    这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。
    gitArea.png

    工作区是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

    暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git 的术语叫做“索引”,不过一般说法还是叫“暂存区”。

    Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。

    基本的 Git 工作流程如下:
    • 在工作区中修改文件。

    • 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。 3. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

    初次运行 Git 前的配置

    既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。

    Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:
    • /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果在执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量。 (由于它是系统配置文件,因此你需要管理员或 超级用户权限来修改它。)

    • ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 你可以传递 --global 选项让 Git 读写此文件,这会对你系统上 所有 的仓库生效。

    • 当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。 你可以传递 --local 选 项让 Git 强制读写此文件,虽然默认情况下用的就是它。。 (当然,你需要进入某个 Git 仓库中才能让该选 项生效。)

    每一个级别会覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。

    用户信息

    安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使 用这些信息,它们会写入到你的每一次提交中,不可更改:

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

    再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

    既然用户信息已经设置完毕,你可以配置默认文本编辑器了,当 Git 需要你输入信息时会调用它。 如果未配置,Git 会使用操作系统默认的文本编辑器。

    如果你想使用不同的文本编辑器,例如 Emacs,可以这样做:
    $ git config --global core.editor emacs
    

    如果想要检查你的配置,可以使用git config --list命令来列出所有Git当时能找到的配置。

    你可以通过输入 git config <key>: 来检查 Git 的某一项配置

    $ git config user.name
    John Doe
    

    由于 Git 会从多个文件中读取同一配置变量的不同值,因此你可能会在其中看到意料之外的值而不知道为什么。 此时,你可以查询 Git 中该变量的 原始 值,它会告诉你哪一个配置文件最后设置了该值:

    $ git config --show-origin rerere.autoUpdate
    file:/home/johndoe/.gitconfig   false
    

    相关文章

      网友评论

          本文标题:初识Git

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