3
3
4
4
(((git commands, fast-import)))
5
5
(((Importing, from others)))
6
- 如果你的系统不是上述中的任一个 ,你需要在线查找一个导入器 - 针对许多其他系统有很多高质量的导入器,包括 CVS、Clear Case、Visual Source Safe,甚至是一个档案目录。
6
+ 如果你的系统不是上述中的任何一个 ,你需要在线查找一个导入器 - 针对许多其他系统有很多高质量的导入器,包括 CVS、Clear Case、Visual Source Safe,甚至是一个档案目录。
7
7
如果没有一个工具适合你,需要一个不知名的工具,或者需要更大自由度的自定义导入过程,应当使用 `git fast-import`。
8
8
这个命令从标准输入中读取简单指令来写入特定的 Git 数据。
9
9
通过这种方式创建 Git 对象比运行原始 Git 命令或直接写入原始对象(查看 <<_git_internals>> 了解更多内容)更容易些。
10
- 通过这种方式你可以编写导入脚本,从你要导入的系统中读取必要数据,然后打印直接指令到标准输出 。
10
+ 通过这种方式你可以编写导入脚本,从你要导入的系统中读取必要数据,然后直接打印指令到标准输出 。
11
11
然后可以运行这个程序并通过 `git fast-import` 重定向管道输出。
12
12
13
13
为了快速演示,我们会写一个简单的导入器。
@@ -30,8 +30,8 @@ current
30
30
你的策略是一次访问一个快照,然后用每个目录中的内容创建提交,并且将每一个提交与前一个连接起来。
31
31
32
32
如同我们在 <<_an_example_git_enforced_policy>> 里做的,我们将会使用 Ruby 写这个,因为它是我们平常工作中使用的并且它很容易读懂。
33
- 可以使用任何你熟悉的东西来非常轻松地写这个例子 - 它只需要将合适的信息打印到 `stdout `。
34
- 然而,如果你在 Windows 上,这意味着需要特别注意不要引入回车符到行尾 - git fast-import 非常特别地只想要换行符 (LF)而不是 Windows 使用的回车换行符(CRLF)。
33
+ 可以使用任何你熟悉的东西来非常轻松地写这个例子 - 它只需要将合适的信息打印到 `标准输出 `。
34
+ 然而,如果你在 Windows 上,这意味着需要特别注意不要引入回车符到行尾 - git fast-import 非常特别地只接受换行符 (LF)而不是 Windows 使用的回车换行符(CRLF)。
35
35
36
36
现在开始,需要进入目标目录中并识别每一个子目录,每一个都是你要导入为提交的快照。
37
37
要进入到每个子目录中并为导出它打印必要的命令。
@@ -123,8 +123,8 @@ export_data('imported from ' + dir)
123
123
puts 'from :' + last_mark if last_mark
124
124
----
125
125
126
- 硬编码时区信息 (-0700),因为这样很容易。
127
- 如果从其他系统导入,必须指定一个为偏移的时区 。
126
+ 我们将硬编码时区信息 (-0700),因为这样很容易。
127
+ 如果从其他系统导入,必须指定为一个偏移的时区 。
128
128
提交信息必须指定为特殊的格式:
129
129
130
130
[source]
@@ -142,7 +142,7 @@ def export_data(string)
142
142
end
143
143
----
144
144
145
- 所有剩下的工作就是指定每一个快照的文件内容 。
145
+ 剩下的工作就是指定每一个快照的文件内容 。
146
146
这很轻松,因为每一个目录都是一个快照 - 可以在目录中的每一个文件内容后打印 `deleteall` 命令。
147
147
Git 将会适当地记录每一个快照:
148
148
@@ -192,7 +192,7 @@ return mark
192
192
[NOTE]
193
193
====
194
194
如果在 Windows 上还需要确保增加一个额外步骤。
195
- 正如之前提到的,Windows 使用 CRLF 作为换行符而 git fast-import 只希望是 LF。
195
+ 正如之前提到的,Windows 使用 CRLF 作为换行符而 git fast-import 只接受 LF。
196
196
为了修正这个问题使 git fast-import 正常工作,你需要告诉 ruby 使用 LF 代替 CRLF:
197
197
198
198
[source,ruby]
@@ -358,7 +358,7 @@ Date: Mon Feb 3 01:00:00 2014 -0700
358
358
----
359
359
360
360
做得很好 - 一个漂亮、干净的 Git 仓库。
361
- 要注意的重要一点是并没有检出任何东西 - 一开始你的工作目录内并没有任何文件。
361
+ 要注意的一点是并没有检出任何东西 - 一开始你的工作目录内并没有任何文件。
362
362
为了得到他们,你必须将分支重置到 `master` 所在的地方:
363
363
364
364
[source,console]
0 commit comments