手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

使用 Git 管理源代码

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

这个步骤会执行很长时间,因为 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
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!