版本控制系统Git安装使用方法

除非你单枪匹马,在网站工作室里没有团队共同合作。否则你肯定对文件分享感到崩溃。无论怎么努力,当很多人对同一个项目进行设计时,没有一个合适的版本控制系统,事情会变得一团糟。

当你与其他设计师们在创建一个网站并对其进行完善时,前端模板和后端功能的融合将会是一个令人提心吊胆的盲区。

像重写、文件丢失、和常见的“消除以往版本”问题经常会意外地产生。一旦后端功能被嵌入你的模板中,你很怕再触及它们,生怕一个不小心就毁了哪个设计师花费大量时间做出的成果。

此外,即使你们有个共同的存储库,每个人都可以从中签出文件。可能还是会有人忘记签出最新的文件并准备在旧文件上进行最新添加,从而将事情搞的乱七八糟。

在这篇文章中,我将向你们大概介绍一下Git概况,一个相当不错的版本控制系统。

版本控制-三言两语很难解释清楚

版本控制(又叫修订控制或源控制管理)是解决文件共享问题的极佳方法。

基本的概念是:对所有的项目文件都有一个主存储库。团队成员签出文件、进行变更、然后再将它们签入(或提交)。版本控制系统(VCS)自动标识出谁做的变更、何时变更的,以及是否是最新的文件。

它要求你就变更写一个简短的记录以便项目每个人一看就知道你做了什么及为什么这么做。每个文件都有修订历史。因此如果出现可怕的错误你可以轻易地回到任何一个文件的以前版本。

一个好的VCS能够将变更合并到同一个文件。如果你和另外一个人同时在本地计算机上对同一个文件进行变更,当你们将变更后的文件签入主存储库时,系统会将这些变更合并形成一个全新的文件。如果合并时出现冲突,它会提醒你们。

你现在可能正在使用一个粗糙的VCS系统来确保你的文件准确有条理。如果你是设计师,就会像这样:

对于PSDs或者其他大型的二进制文件来说这样很好,不需要用VCS系统。但当你在为一个网站管理源代码,那么有一个更好的方法来解决它。

使用版本控制系统的好处有:

  • 文件不会被覆盖
  • 共同的存储库包含了所有最新文件
  • 人们能够同时对同一个文件进行变更而不发生冲突
  • 如果需要可以恢复到文件或项目的一个以前版本
  • 令你的设计师们感到高兴

即使你不与团队合作,版本控制也能够为你节约时间。备份文件是最简单的一件事儿,它让你免遭工作失败或不得不重新开始的厄运,从而为你节省时间。

VCS系统的概念一开始可能让人望而生畏,特别是大多数软件说明都是由网站设计师编写或给他们看的。但只要你将它融入你的工作流中,你就会发现它并非想像得那么难。

认识Git

OK,现在你已经了解了为什么一个版本控制系统对你的网站设计团队是必不可少的了。如果你在Google上稍微搜索一下就会发现有不少这样的系统包括SVN、Mercurial、CVS、Bazaar和Git。任一种都能满足你的需求,而我建议你在选择版本控制系统之前先做些调查。本文我将着重介绍Git,这个我每天都在使用的系统。它是“新起之秀”,广受欢迎。多亏了优秀的Linux网站设计师们,GitHub和Rails社群。

Git是一个不受限制的开放源码版本控制系统,最初由Linus Torvalds为了Linux核心开发而创建。Linux很聪明;当他开始解决一个问题时,他会把事情处理得井井有条。Git一个最大的区别是不像SVN和CVS,它是个分布式的版本控制系统。这就意味着每个用户都有一个完整的存储库数据拷贝保存在他们本地的计算机中。那很棒,不是吗?还有一些特点:

  • 每个文件都在本地计算机,因此你可以在脱机状态下工作。
  • 没有单点故障,它不依赖中央服务器不会死机或烧毁,用它创建你项目的惟一存储库吧。
  • 因为不需要时时与中央服务器进行沟通,处理起来更加快速。

Git比SVN要难学一点儿,但这是值得的。想想看当你告诉你的网站设计朋友们你在使用最流行的Git系统时,他们艳羡的表情吧!认真来说,我不认为这种学习曲线有什么不合理。一开始SVN同样让我感到困惑,随着不断地使用我也遇到了更多的问题。

安装Git一点儿都不好玩。幸运的是有个知识渊博的设计师愿意帮我,网上有很多资源可以帮你搞定它。它适用于PC、Mac或Linux系统,在Linux和OSX上安装要比在Windows上安装容易些。

你可以在这里下载Git的最新版本。下载好后,尝试这种快速向导来帮助你安装。对Windows用户来说,这种一步一步的可视化向导应该很有用。Mac用户可以尝试在GitHub上的向导

开始创建

安装完毕后,你可以创建你的存储库了。将现有的一个文件夹变成Git存储库,在终端机或命令提示窗口中使用以下命令:

cd path/to/project git init git add . git commit

你要Git做的是以下这些:

  • 创建目录
  • 将所有东西添加到这个目录中-所有的文件和子目录
  • 提交或保存,所有的变更都在这个目录中

如果你讨厌用命令行,你也可以用Git GUI.它不是最常见的一种,但需要时也可以用。

一个Git工作流的实例

目前我和很多网站设计师们在Mac上用Git设计一个网站应用程序。我们有一个源码“母”版可以签入我们的文件,我们每个人在本地计算机上还有一个完整的拷贝。

  1. 任何时候,我的工作流都会像下面这样:
  2. 打开终端机。开始建立本地mysql数据库(以便我们建立的应用程序能够在本地计算机运行)
  3. 用“git签出”命令在终端机上获取最新的变更。这使得我能够获得所有其他成员做出的变更,这些变更都被签入到我们的主存储库中。
  4. 在TextMate上打开项目进行我的变更。
  5. 提交变更并添加我的记录。这仅是在本地的提交。我频繁地进行提交,每天至少十次或十次以上。这能够帮助我跟踪项目进展。
  6. 用“git签入”命令将我的变更签入主存储库。现在团队其他成员都能看到并获取我的变更。你应该至少每天这样做或在有重大内容添加后这样做。

所有这些工作都能通过终端窗口轻松地完成。但我是个可视化女生。因此,我使用GitX,一个基于OSX的Git gui ,来完成我的提交。仍可以用终端机签入签出文件,但GitX将组织我的提交变得很容易并让我集中精力于正在做的事儿。

顶端高亮显示对文件所做的变更。在下面左边是Unstaged Changes的列表。为了提交它们,你要拖曳一个或多个文件到右边的“Staged Changes”区域,输入提交信息,然后点击提交按钮。

浏览一下树视图,可以看到有哪些变更签入到存储库中。如果我的文件当前与主存储库不匹配,顶端的绿色标识和蓝色标识不会同时出现。GitNub提供了一个基于Mac风格的类似界面。

还有超棒的TextMate捆绑包。有了它,你可以在TextMate中进行签入、签出、提交及更多其他操作。效率非常高。

我还是个Git新手,只向你们简单介绍了用它可以做些什么。但我已经看到了它成为版本控制系统的光明前景,而且很高兴我能够走在时尚的前面。

本文由明迪·瓦格纳撰写,她是Viget实验室的网站设计师,在出版和网站设计方面有8年多的经验。她获得了电子媒介艺术学位并与伦斯勒理工学院有着良好的沟通。

 

本文转自:http://www.redbots.cn/skills/2009/04/06/9044.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值