Skip to content

Commit b1272ef

Browse files
committed
Review 10-git-internals maintenance v2
1 parent e0259d2 commit b1272ef

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Git 会不定时的自动运行一个叫做 ``auto gc'' 的命令。
1010
大多数时候,这个命令并不会产生效果。
11-
然而,如果有太多松散对象(不在包文件中的对象)或者太多包文件,Git 运行一个完整的 `git gc` 命令。
11+
然而,如果有太多松散对象(不在包文件中的对象)或者太多包文件,Git 会运行一个完整的 `git gc` 命令。
1212
``gc'' 代表垃圾回收,这个命令会做以下事情:收集所有松散对象并将它们放置到包文件中,将多个包文件合并为一个大的包文件,移除与任何提交都不相关的陈旧对象。
1313

1414
可以像下面一样手动执行自动垃圾回收:
@@ -35,7 +35,7 @@ $ find .git/refs -type f
3535
----
3636

3737
如果你执行了 `git gc` 命令,`refs` 目录中将不会再有这些文件。
38-
Git 会为了保证效率而将它们移动到名为 `.git/packed-refs` 的文件中,就像这样:
38+
为了保证效率 Git 会将它们移动到名为 `.git/packed-refs` 的文件中,就像这样:
3939

4040
[source,console]
4141
----
@@ -174,9 +174,9 @@ dangling blob 7108f7ecb345ee9d0084193f147cdad4d2998293
174174
[[_removing_objects]]
175175
==== 移除对象
176176

177-
Git 有很多很棒的功能,但是一个特性会导致问题,`git clone` 会下载整个项目的历史,包括每一个文件的每一个版本。
177+
Git 有很多很棒的功能,但是其中一个特性会导致问题,`git clone` 会下载整个项目的历史,包括每一个文件的每一个版本。
178178
如果所有的东西都是源代码那么这很好,因为 Git 被高度优化来有效地存储这种数据。
179-
然而,如果某个人在之前向项目添加了一个大小特别大的文件,那么每次克隆都要强制的下载这个大文件,即使你将这个文件从项目中移除了。
179+
然而,如果某个人在之前向项目添加了一个大小特别大的文件,即使你将这个文件从项目中移除了,每次克隆还是都要强制的下载这个大文件
180180
之所以会产生这个问题,是因为这个文件在历史中是存在的,它会永远在那里。
181181

182182
当你迁移 Subversion 或 Perforce 仓库到 Git 的时候,这会是一个严重的问题。
@@ -187,7 +187,7 @@ Git 有很多很棒的功能,但是一个特性会导致问题,`git clone`
187187
它会从你必须修改或移除一个大文件引用最早的树对象开始重写每一次提交。
188188
如果你在导入仓库后,在任何人开始基于这些提交工作前执行这个操作,那么将不会有任何问题 - 否则,你必须通知所有的贡献者他们需要将他们的成果变基到你的新提交上。
189189

190-
为了演示,我们将添加一个大文件到测试仓库中,并在下一次提交中删除它,现在我们需要找到它,并将它永久的从仓库中删除
190+
为了演示,我们将添加一个大文件到测试仓库中,并在下一次提交中删除它,现在我们需要找到它,并将它从仓库中永久删除
191191
首先,添加一个大文件到仓库中:
192192

193193
[source,console]

0 commit comments

Comments
 (0)