http://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F202005%2F08%2F20200508102713_L8aCB.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1649077062&t=40b7b14053ef546a57de4934b9442cbe",

【1】Git基础

一、Git概念

1.1、Git定义

  Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

1.2、Git特点

  • 直接记录快照,而非差异比较
  • 近乎所有操作都是本地执行
  • 使用 SHA-1 散列(hash,哈希)保证数据完整性
  • Git 一般只添加数据

1.3、Git三种状态及三个工作区域

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

另一种角度下Git文件的两种状态:
  已跟踪:已跟踪文件指被纳入了版本控制的文件,在上一次快照中有其记录。在工作一段时间后,它们的状态可能处于未修改、已修改或已暂存。
  未跟踪: 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。
Git 文件生命周期图:

三个工作区域
  工作目录:对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
  暂存区域:是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 也被称作“索引”,一般还是叫暂存区域。
  Git 仓库: Git 用来保存项目的元数据和对象数据库的地方。从其它计算机克隆仓库时,拷贝的就是这里的数据。

1.4、Git 工作流程

  1. 在工作目录中修改文件(已修改状态)。

  2. 暂存文件,将文件的快照放入暂存区域(已暂存状态)。

  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录(已提交状态)。

二、Git配置文件

2.1、配置文件分类

(1). 通用配置文件:/etc/gitconfig ,对所有用户及其仓库的通用配置: git config --system

(2). 用户配置文件: ~/.gitconfig 文件或 ~/.config/git/config文件,只适用于该用户:git config --global

(3). 仓库配置文件: .git/config,针对该仓库,即当前使用仓库的 Git 目录中的 config 文件。

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

三、Git配置文件相关命令

获取帮助

##使用帮助的三种方法,<verb>为查询的命令
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
##查询config命令用法
$ git help config

配置用户信息

##设置用户名称、邮件地址,Git会将其写入每一次的提交信息中
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

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

##针对特定项目使用不同的用户名称与邮件地址
cd "目标目录"
$ git config user.name "John"
$ git config user.email john@example.com

文本编辑器

##设置Git默认使用的文本编辑器
$ git config --global core.editor vim (系统默认)
$ git config --global core.editor emacs
$ git config --global core.editor vi

检查配置信息

##列出 Git 所有能找到的配置
$ git config --list
##列出 Git 的某一项配置:git config <key>
$ git config user.name

注意:
  列表中存在重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig 与 ~/.gitconfig)。 这种情况下,Git 会使用它找到的每一个变量的最后一个配置。

  • 作者: DeepInThought
    出处: https://www.cnblogs.com/DeepInThought
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • posted @ 2019-06-29 22:42  DeepInThought  阅读(234)  评论(0编辑  收藏  举报