Git基础
Posted deepinthought
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 用来保存项目的元数据和对象数据库的地方。从其它计算机克隆仓库时,拷贝的就是这里的数据。
1.4、Git 工作流程
在工作目录中修改文件(已修改状态)。
暂存文件,将文件的快照放入暂存区域(已暂存状态)。
提交更新,找到暂存区域的文件,将快照永久性存储到 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 [email protected]
注意:
??使用了 --global 选项一次即可,之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。
##针对特定项目使用不同的用户名称与邮件地址
cd "目标目录"
$ git config user.name "John"
$ git config user.email [email protected]
文本编辑器
##设置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 会使用它找到的每一个变量的最后一个配置。
出处: https://www.cnblogs.com/DeepInThought
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
以上是关于Git基础的主要内容,如果未能解决你的问题,请参考以下文章