Skip to content

Commit 0e4947b

Browse files
author
chengz
committed
第一次审阅相关修改
1 parent ba3bee1 commit 0e4947b

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

book/10-git-internals/sections/environment.asc

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
=== 环境变量
22

3-
Git 总是在一个 `bash` shell 中运行,并用一些 shell 环境变量来决定它的运行方式。
4-
有时候,知道它们是什么和它们如何让 Git 按照你想要的方式去运行会很有用。
5-
这不是 Git 用到的所有环境变量的列表,但我们包含了大部分有用的
3+
Git 总是在一个 `bash` shell 中运行,并借助一些 shell 环境变量来决定它的运行方式。
4+
有时候,知道它们是什么以及它们如何让 Git 按照你想要的方式去运行会很有用。
5+
这里不会列出所有的 Git 环境变量,但我们会覆盖最有的那部分
66

77

88
==== 全局行为
99

10-
Git 的一些行为像通常的程序一样依赖环境变量
10+
像通常的程序一样,Git 的某些行为依赖于环境变量
1111

1212
*`GIT_EXEC_PATH`* 决定 Git 到哪找它的子程序 (像 `git-commit`, `git-diff` 等等)。
1313
用可以用 `git --exec-path` 来查看当前设置.
1414

1515
*`HOME`* 通常不会考虑修改这个变量(太多其它东西都依赖它),这是 Git 查找全局配置文件的地方。
1616
如果你想要一个真正的便携版 Git, 包括全局配置, 你可以在便携版 Git 的 shell 配置中覆盖 `HOME` 设置。
1717

18-
*`PREFIX`* 类似的,但是这个是系统范围的配置用的
19-
Git 在 `$PREFIX/etc/gitconfig` 查找这个文件.
18+
*`PREFIX`* 也类似,除了用于系统范围配置
19+
Git 在 `$PREFIX/etc/gitconfig` 查找此文件.
2020

2121
*`GIT_CONFIG_NOSYSTEM`*, 如果设置了,就禁用系统范围的配置文件。
22-
这在系统配置影响了你的命令,你又无权限修改的时候很有用
22+
这在系统配置影响了你的命令,而你又无权限修改的时候很有用
2323

24-
*`GIT_PAGER`* 控制在命令行上显示多页输出时用的程序
24+
*`GIT_PAGER`* 控制在命令行上显示多页输出的程序
2525
如果这个没有设置,就会用 `PAGER` .
2626

2727
*`GIT_EDITOR`* 当用户需要编辑一些文本(比如提交信息)时, Git 会启动这个编辑器。
@@ -33,29 +33,29 @@ Git 的一些行为像通常的程序一样依赖环境变量。
3333
Git 用了几个变量来确定它如何与当前版本库交互。
3434

3535
*`GIT_DIR`* 是 `.git` 目录的位置.
36-
如果这个没有设置, Git 会按照目录树向上寻找 `.git` 目录,直到到达 `~` 或 `/`。
36+
如果这个没有设置, Git 会按照目录树逐层向上查找 `.git` 目录,直到到达 `~` 或 `/`。
3737

3838
*`GIT_CEILING_DIRECTORIES`* 控制查找 `.git` 目录的行为。
39-
如果你访问加载很慢的目录(如在磁带上的目录或能过网络访问目录),你可能会想让 Git 早点停止尝试,尤其是在 shell 中快速编译时
39+
如果你访问加载很慢的目录(如那些磁带上的或通过网络连接访问的),你可能会想让 Git 早点停止尝试,尤其是 shell 构建时调用了 Git
4040

41-
*`GIT_WORK_TREE`* 是非空版本库的工作目录的根的位置
41+
*`GIT_WORK_TREE`* 是非空版本库的工作目录的根路径
4242
如果没指定,就使用 `$GIT_DIR` 的父目录。
4343

4444
*`GIT_INDEX_FILE`* 是索引文件的路径(只有非空版本库有)
4545

46-
*`GIT_OBJECT_DIRECTORY`* 用来指定通常放在 `.git/objects` 下面的目录的位置
46+
*`GIT_OBJECT_DIRECTORY`* 用来指定 `.git/objects` 目录的位置
4747

48-
*`GIT_ALTERNATE_OBJECT_DIRECTORIES`* 一个按克隆分开的列表 (格式类似 `/dir/one:/dir/two:…`) 用来告诉 Git 到哪里去找不在 `GIT_OBJECT_DIRECTORY` 目录中的对象.
49-
如果你有很多项目有相同内容的大文件,这个可以用来避免存储很多备份
48+
*`GIT_ALTERNATE_OBJECT_DIRECTORIES`* 一个冒号分割的列表 (格式类似 `/dir/one:/dir/two:…`) 用来告诉 Git 到哪里去找不在 `GIT_OBJECT_DIRECTORY` 目录中的对象.
49+
如果你有很多项目有相同内容的大文件,这个可以用来避免存储过多备份
5050

5151

52-
==== 路径规格
52+
==== 路径规则
5353

54-
所谓 ``pathspec'' 是指你在 Git 中如何指定路径, 包括用通配符
54+
所谓 ``pathspec'' 是指你在 Git 中如何指定路径, 包括通配符的使用
5555
它们会在 `.gitignore` 文件中用到,命令行里也会用到 (`git add *.c`)。
5656

57-
*`GIT_GLOB_PATHSPECS` and `GIT_NOGLOB_PATHSPECS`* 控制通配符在路径规格中的默认行为
58-
如果 `GIT_GLOB_PATHSPECS` 设置为 1, 通配符就是通配符(这是默认设置); 如果 `GIT_NOGLOB_PATHSPECS` 设置为 1,通配符就是普通字符。意思是 `*.c` 只会匹配 _文件名是_ ``*.c'' 的文件, 而不是以 `.c` 结尾的文件。
57+
*`GIT_GLOB_PATHSPECS` and `GIT_NOGLOB_PATHSPECS`* 控制通配符在路径规则中的默认行为
58+
如果 `GIT_GLOB_PATHSPECS` 设置为 1, 通配符表现为通配符(这是默认设置); 如果 `GIT_NOGLOB_PATHSPECS` 设置为 1,通配符仅匹配字面。意思是 `*.c` 只会匹配 _文件名是_ ``*.c'' 的文件, 而不是以 `.c` 结尾的文件。
5959
你可以在各个路径规格中用 `:(glob)` 或 `:(literal)` 开头来覆盖这个配置,如 `:(glob)*.c` 。
6060

6161
*`GIT_LITERAL_PATHSPECS`* 禁用上面的两种行为;通配符不能用,前缀覆盖也不能用。
@@ -65,7 +65,7 @@ Git 用了几个变量来确定它如何与当前版本库交互。
6565

6666
==== 提交
6767

68-
Git 提交对象的创建通常最后是由 `git-commit-tree` 来完成, `git-commit-tree` 用这些环境变量作主要的信息源。 如果没有这些值就回退用配置的值
68+
Git 提交对象的创建通常最后是由 `git-commit-tree` 来完成, `git-commit-tree` 用这些环境变量作主要的信息源。 仅当这些值不存在才回退到预置的值
6969

7070
*`GIT_AUTHOR_NAME`* 是 ``author'' 字段的人类可读的名字。
7171

@@ -96,19 +96,19 @@ Git 使用 `curl` 库通过 HTTP来完成网络操作, 所以 *`GIT_CURL_VERBO
9696
这些值会覆盖 `http.lowSpeedLimit` 和 `http.lowSpeedTime` 配置的值。
9797

9898
*`GIT_HTTP_USER_AGENT`* 设置 Git 在通过 HTTP 通讯时用到的 user-agent。
99-
默认值类似 `git/2.0.0` 这个样子
99+
默认值类似于 `git/2.0.0` 。
100100

101101

102102
==== 比较和合并
103103

104104
*`GIT_DIFF_OPTS`* 这个有点起错名字了
105-
仅有的有效值是 `-u<n>` 或 `--unified=<n>`,用来控制在 `git diff` 命令中显示的内容行数。
105+
有效值仅支持 `-u<n>` 或 `--unified=<n>`,用来控制在 `git diff` 命令中显示的内容行数。
106106

107107
*`GIT_EXTERNAL_DIFF`* 用来覆盖 `diff.external` 配置的值。
108-
如果设置了这个值, Git 会在调用 `git diff` 时调用指定的程序
108+
如果设置了这个值, 当执行Git `git diff` 时,Git 会调用该程序
109109

110110
*`GIT_DIFF_PATH_COUNTER`* and *`GIT_DIFF_PATH_TOTAL`* 在 `GIT_EXTERNAL_DIFF` 或 `diff.external` 指定的程序内容有用。
111-
前面一个表示在一系列文件中哪个是被比较的(从 1 开始),后面一个表示批量一次多少个文件。 ( 原文: The former represents which file in a series is being diffed (starting with 1), and the latter is the total number of files in the batch. )
111+
前者表示在一系列文件中哪个是被比较的(从 1 开始),后者表示每批文件的总数。 ( 原文: The former represents which file in a series is being diffed (starting with 1), and the latter is the total number of files in the batch. )
112112

113113
*`GIT_MERGE_VERBOSITY`* 控制递归合并策略的输出。
114114
允许的值有下面这些:
@@ -124,7 +124,7 @@ Git 使用 `curl` 库通过 HTTP来完成网络操作, 所以 *`GIT_CURL_VERBO
124124

125125
==== 调试
126126

127-
想 _真正地_ 知道 Git 是什么?
127+
想 _真正地_ 知道 Git 正在做什么?
128128
Git 内置了相当完整的跟踪信息,你需要做的就是把它们打开。
129129
这些变量的可以用的值如下:
130130

@@ -212,7 +212,7 @@ Your branch is up-to-date with 'origin/master'.
212212
nothing to commit, working directory clean
213213
----
214214

215-
==== 其它的
215+
==== 其它
216216

217217
*`GIT_SSH`*, 如果指定了, Git 连接 SSH 主机时会用指定的程序代替 `ssh` 。
218218
它会被用 `$GIT_SSH [username@]host [-p <port>] <command>` 的命令方式调用。
@@ -228,10 +228,10 @@ nothing to commit, working directory clean
228228

229229
*`GIT_FLUSH`* 当增量地向标准输出写入时可以强制 Git 使用没有缓存的 I/O。
230230
设置为 1 让 Git 刷新更多, 设置为 0 则使所有的输出被缓存。
231-
默认值(如果这个变量没有设置)是根据活动和输出模式的不同选择合适的缓存方案。
231+
默认值(若此变量未设置)是根据活动和输出模式的不同选择合适的缓存方案。
232232

233233
*`GIT_REFLOG_ACTION`* 让你可以指定描述性的文字写到 reflog 中。
234-
这儿有一个栗子
234+
这有个例子
235235

236236
[source,console]
237237
----

0 commit comments

Comments
 (0)