跳到主要内容

Git

历史

  • 一个分布式的版本控制软件,最初由 Linux 开发者社区的人们开发,具有快速、能够支持复杂的非线性开发的特点。

  • 基于快照的版本控制,而不是基于差分的版本控制:记录的是快照流,而不是每个文件的差分流

  • 几乎每个操作都是不需要联网的

  • 用 SHA-1(160 位,表现为 40 个十六进制数字符)校验完整性

  • /usr/local/etc/gitconfig:系统配置,对应的参数是 --system

  • ~/.gitconfig:全局配置,对应的参数是 --global

  • .git/config:仓库配置,对应的参数是 --local

    可以用 --list 查看所有当前配置,并且可以用 --show-origin 来看是哪个文件引入的。

  • 配置内容

  • user

  • user.name:姓名

  • user.email:电子邮件

  • core

  • core.editor:默认使用的编辑器

  • 在 Git 中,文件状态分为四种:

  • 未追踪:不包含在上一次提交以及当前的暂存区

  • 未修改:与上一次提交相同

  • 已修改:与上一次提交不相同,而且还没有添加到暂存区

  • 已暂存:与上一次提交相同,而且已经添加到暂存区

    可以用 git status 来查看各种文件的状态。在一些其他命令中,不加参数一般指的是已修改的状态,加上 --staged 或者 --cached 是已暂存的状态。

    是一种匹配文件(而非文件夹)的类似正则表达式的字符串。规则:

  • * 匹配零个或多个字符(不含 /

  • [abc] 匹配其中的任一个

  • [0-9] 匹配一系列字符

  • a/**/z 匹配嵌套文件夹

  • ? 匹配一个字符

  • ! 取消该效果