这个步骤会执行很长时间,因为 Git 正在将内核源代码(这有数百兆大)从 kernel.org 传输到本地机器上。输出结果可能有些晦涩难懂,但是假如您有一个快速的 Internet 链接,卷屏的速度应该相当快。输出结果应该类似于图 1 所示。
图 1. 在下载内核源代码树过程中产生的输出
现在转换到包含新下载的内核的目录中:
$ cd linux-2.6
|
现在,我们应该在本地机器上有一个能够工作的 Linux 2.6 仓库了!此时我们就能够对这个仓库进行一些基本的操作了。
更新本地 Git 仓库
在使用 Git 时,我们通常能够假设自己的仓库可能比 kernel.org 的仓库有些滞后。因此我们通常都是首先将自己的仓库更新成最新的上游内核树。这个过程有时称为快速合并(fast-forward merge)。严格来说,我们现在并无需执行这个过程,因为我们刚刚安装了自己的仓库,他应该还没有过期。但是检查一下毕竟没有坏处:
$ cd linux-2.6
$ git-pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
...
|
假如成功,我们就应该会看到类似于下面的输出结果:
receiving file list ... done
sent 130 bytes received 21677 bytes 14538.00 bytes/sec
total size is 127865858 speedup is 5863.52
Already up-to-date.
$>
|
假如我们的仓库不是最新的,就会看到有些内容通过网络传输到本地机器上了。
从仓库中导出文档
我们需要将文档从 Git 仓库(隐藏目录中的那些文档)中导出到工作目录中才能开始自己的 hack 过程。下面的命令会在当前目录中写入没有隐藏的目录,其中包含了 Linux 的源代码:
$ git-checkout
|
假如您希望覆盖本地修改,能够使用 -f 选项导出文档,这样就能够将您带回到一个干净的状态:
$ git-checkout -f
|
现在在当前工作目录中,我们应该就能够看到熟悉的 Linux 源代码目录结构了,然后我们能够对这些源代码任意进行修改。
修改现有文档
我们现在能够修改所选择的任何文档。举一个简单的例子来说,我们将修改 docs 目录中的一些内容:添加一条以后能够很容易识别的信息。为了让我的例子更容易试验,我没有选择修改源代码;但是只要您希望,欢迎继续重写整个内核的子系统。
首先,让我们在编辑器中打开一个文档:
$ vi ./Documentation/ManagementStyle
|
显然,我使用的是 vi;但是您当然能够使用自己喜欢的任何编辑器来完成这项工作。在编辑文档时,我在第一段前面添加了一行:“Eli shall be in charge of managing sandwich consumption. See Documentation/Sandwiches for more.”
假如您对自己所做的修改很满意,并且觉得自己已准备好将其作为仓库的一个永久部分了,就需要使用下面的命令导入您的修改:
$ git-commit Documentation/ManagementStyle
|
您会被提示说需要提供一个提交消息,他是个用户生成的注释,用来帮助其他研发人员(也可能是您自己以后)理解刚才的实现到底进行了哪些修改。在我们的例子中,提交消息是个描述刚才对文档所做修改的短句。
假如您希望检查一下到现在为止工作的状态,能够执行 git-log 来查看本地仓库的历史(他继承了所克隆的仓库的信息)。您的提交消息应该在日志的最上面。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



