这两天朋友几篇文章介绍了改文件配置的文章. 关联文章的地址
概述:git命令繁杂,而且用起来相称难以上手。为了熟练应用git,本系列文章将解析git的官方参考文档pro_git,让读者可以之气所以然,从道理上弄明git的运行道理;然后结合工程项目的需要和其中涌现的问题,提供响应的解决方法,从而让读者更好的理解和应用git。
1.文件的 三种状态
对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表现该文件已被安全地保存在本地数据库中了;已修改表现修改了某个文件,但还没有提交保存;已暂存表现把已修改的文件放在下次提交时要保存的清单中。由此我们看到 Git 管理项目时,文件流转的三个工作区域:Git 的本地数据目录,工作目录以及暂存区域。
图 1.1: 工作目录,暂存区域和 git 目录
每个项目都有一个 git 目录,它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里头的数据。从项目中取出某个版本的全部文件和目录,用以开始后续工作的叫做工作目录。这些文件实际上都是从 git 目录中的压缩对象数据库中提取出来的,接下来就可以在工作目录中对这些文件进行编辑。所谓的暂存区域只不过是个简单的文件,一般都放在 git 目录中。有时候人们会把这个文件叫做索引文件,不过标准说法还是叫暂存区域。
基本的 Git 工作流程如下所示:
1. 在工作目录中修改某些文件。
2. 对这些修改了的文件作快照,并保存到暂存区域。
3. 提交更新,将保存在暂存区域的文件快照转储到 git 目录中。
2. 首次运行 Git 前的配置
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会相沿当初的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。
Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取响应的工作环境变量。而恰是由这些环境变量,决议了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
• /etc/gitconfig文件:系统中对全部用户都广泛实用的配置。若应用 git config 时
用 --system 选项,读写的就是这个文件。
• ~/.gitconfig文件:用户目录下的配置文件只实用于该用户。若应用 git config 时
用 --global 选项,读写的就是这个文件。
• 以后项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这
里的配置仅仅针对以后项目有效。每一个级别的配置都会覆盖下层的相同配置,所以
.git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
2.1 用户信息
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久归入历史记录:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你全部的项目都会默许应用这里配置的用户信息。如果要在某个特定的项目中应用其他名字或者电邮,只要去掉 --global 选项重新配置便可,新的设定保存在以后项目的 .git/config文件里。
2.2 查看配置信息
要检查已有的配置信息,可以应用 git config --list 命令:
$ git config --list
user.name=Scott Chacon
user.email=schacon@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig和 ~/.gitconfig),不过终究 Git 实际采用的是最后一个。也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面便可,像这样:
$ git config user.name
Scott Chacon
文章结束给大家分享下程序员的一些笑话语录:
问路
有一个驾驶热气球的人发现他迷路了。他降低了飞行的高度,并认出了地面 上的一个人。他继续下降高度并对着那个人大叫,“打扰一下,你能告诉我我 在哪吗?”
下面那个人说:“是的。你在热气球里啊,盘旋在 30 英尺的空中”。
热气球上的人说:“你一定是在 IT 部门做技术工作”。
“没错”,地面上的人说到,“你是怎么知道的?”
“呵呵”,热气球上的人说,“你告诉我的每件事在技术上都是对的,但对都没 有用”。
地面上的人说,“你一定是管理层的人”。
“没错”,热气球上的人说,“可是你是怎么知道的?”
“呵呵”,地面上的那人说到,“你不知道你在哪里,你也不知道你要去哪,你 总希望我能帮你。你现在和我们刚见面时还在原来那个地方,但现在却是我 错了”。
---------------------------------
原创文章 By
文件和配置
---------------------------------