[Git]自译《Git版本控制管理》——0.前言

来源:互联网 发布:js new array 初始化 编辑:程序博客网 时间:2024/04/29 18:56


译者前言:

      本系列译文为作者利用业余时间翻译,有些疏漏与翻译不到位的地方敬请谅解。

     不过也很希望各位读者能给出中肯的建议。

     方括号的注释,如[1][2]为译者注。

     谢谢。


转载请注明出处:blog.csdn.net/zry656565


面向的读者

    虽然对版本控制系统比较熟悉会让你更易于理解本书,但没有任何经验的读者依旧能够在很短的时间内从本书中学习到基本的Git指令。而有经验的读者将会对Git的内部设计有更加清晰的认识,从而掌握更多强大的技术。

    本书主要面向的是熟悉Unix shell、基本shell指令和一般编程概念的读者。

 

主要环境

    本书几乎所有的例子和讨论都假定读者拥有一个拥有命令行界面的类Unix系统。本书的作者是在DebianUbuntu环境下编写了所有的例子。这些例子也可以在其他环境下运行,比如Mac OS X或者Solaris,但你应该能想象到其中会有一些细微的差别。

    一些例子需要系统的root权限,因为其中需要系统操作。当然在这些情形下,你应该对root权限有一个清晰的认识。

 

书本结构及不足

    本书循序渐进,每一个章节都建立在它之前所介绍的概念之上。前10个章节基于一个repository[1],主要着重于概念与基本操作。而最后6个章节则是在多个repository上介绍了更为复杂的操作。前10个章节是后6个章节的基础。

    如果你已经安装好了Git或者已经对简单的Git使用有了一定了解,那么你可以跳过前两个关于Git介绍与安装的章节,甚至也不用看第三章的关于快速上手的内容。

    第四章介绍的概念对于深刻理解Git的对象模型非常重要。这些概念为读者理解许多更复杂的Git操作有很棒的帮助作用。

    第五章到第十章对更多的细节展开描述。第五章描述了索引和文件管理。第六章和第十章讨论了提交(commit)以及修改提交的基本原理。第七章介绍了分支(branch)。通过分支,你可以在你的一个本地repository上操纵多个不同的开发版本线。第八章解释了Git是如何引入和呈现“diffs[2]的。

    Git提供了一种强大的机制来合并不同的开发分支。第九章就介绍了分支合并和解决分支冲突(conflict)。清晰理解Git模型的一个关键是所有Git进行的合并操作都是在你当前的工作目录的上下文(context)中的本地repository中进行的。

    对远程repository命名以及与远程repository交换数据的基本原理可以在第十一章中学习到。一旦掌握了合并(merge)的基础,多个repository的交互就变成一次交换过程和一次合并过程的结合。交换(exchange)过程是一个在第十一章提出的新概念,而合并过程则在第九章中提出。

    第十二章提供了一种更为哲学抽象的全局repository管理。在第十三章中,它还建立了一种上下文,在不能使用Git源生的传输协议来直接交换repository信息时,来进行补丁处理。

    最后三个章节涉及一些进阶的话题:钩子(hook)的使用、把项目和多个repository整合进一个超级项目里、以及与svn项目的交互。

    受益于一群活跃的开发者,Git目前仍旧在很迅速地发展。但这不能说Git目前已经成熟到可以被开发者所使用。用户界面问题也正在不断被改进。正如我正在写这本书的同时,Git也在一刻不停地变得越来越强大。如果我没能保证我书中每一处都正确,我对此感到非常抱歉。

    我在本书中并没给gitk这条指令写太多的篇幅。如果你喜欢你的repository历史能够有一个图形化的呈现,那么你应该探索一下gitk。即使也有很多其他的历史可视化工具。但它们都没有被包括在这本书内。我不可能把那些与Git相关的各种工具都包含进来,因为它们也在飞速发展。我甚至没有把所有Git本身的核心指令和选项全写进这本书里。我再一次感到非常抱歉。

    但也许这本书已经提供了足够的提示和方向来激发你们做一些自己的研究和探索!

 

[1] repository:本意为仓库、知识库。此处应该特指Git版本管理中的一个项目。(译者不知道怎么翻译比较好……)

[2]diffs”:指两个版本之间的差异。



以上前言的内容就告一段落,我会在本周内翻译完第一章并放到博客上。

转载请注明出处:blog.csdn.net/zry656565

原创粉丝点击