Github for Windows 版本控制工具

        版本控制系统并非一个新兴技术,实际上在软件开发中非常常用,软件开发人员借此很好的管理自己的项目开发文档和相关的代码。事实上,很多版本控制系统的作用不止局限于代码管理,在我们日常工作中,版本控制系统也能发挥很强大的作用。本文接下来要讲的重点也是日常生活当中的应用,同时通过实际操作的例子介绍github for Windows版本控制系统的使用。

、版本控制的概念

       什么是版本控制?这里引用《pro git》当中的原话:“版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。”我们可能都有过工程返工,或者修改项目文件的经历,就拿笔者本人来说,原来做图形设计的时候,为了满足客户的各种稀奇古怪的想法,往往会制作很多个版本的Photoshop工程文件,而很多尝试之后客户又想让你给他还原到最开始的版本。大多数时候我们采用复制源文件来保存我们制作的版本,这样客户需要的时候我们可以提取相应的文件给他,而不是又返工做一次。这个时候我们可能会有很多不同的文件同时存在,我在网上看到过如下所示比较极端的情况:

计算机生成了可选文字: 城1碗土图一丽睿气1巍工图改dw:摘1瘾工图完成版dw:气l瘾工图完成版改1.dw:气l瘾工图完成版改2.面‘气l#施工图最终版dw::气l瘾工图最终版改1.dw;鱼,琳工图最终版改2,dw:气1巍工图最最终版dw::气1巍工图最最终版改dw:鱼1巍工图绝对不改版dw:鱼:瘾工图绝对不改版改,.dw:绝1碗工图绝对不改版改2.dw'习湘口口口口口口口口口口

       对于比较小的文件当然这样处理没问题,可是大的工程呢?一个文件就几百上千个M的文件,你还这样复制?这个时候,你就需要一个版本控制系统了。采用版本控制系统(VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出是谁最后修改了什么地方从而造成某些怪异问题,又是谁在何时报告了某个功能缺陷,等等。使用版本控制系统通常还意味着,就算你胡来搞砸了整个项目,把文件改的改,删的删,你也可以轻松恢复到原先的样子。而由此额外增加的工作量却微乎其微。而这样的版本控制系统很多程序员早已操作的非常熟练,但是其他领域的人们对此可能还并不熟悉,这是一个非常强大的工具,它可以管理几乎一切文件,不仅仅是代码文件。

github for Windows介绍

        Git是如今非常流行的分布式版本控制系统(关于分布式和集中式的区别你可以自己上网搜,非常容易理解),而github for WindowsWindows平台上Git的图形化客户端,提供了版本控制的常用操作。其他平台例如Linux上,Git操作主要是靠在控制台输入命令进行执行,但是Windows平台用户大多不是程序员,我们喜欢图形化的操作界面,于是Git将很多常用的基本操作做成了图形化的应用,非常容易操作。你可以从www.github.com官网上下载到github for Windows的最新版。

       关于Git进行版本控制的原理我并不打算多讲,你可以参考《pro git》这本书,写的非常详细。但我相信更多的人更关心的是如何快速使用这个工具进行版本管理,于是,我们直接进入下一节,讲一个操作实例。

github for Windows操作实例讲解

       首先,我们设想一个场景:你的老板是一个善变的人,他经常折磨你做重复的工作,并且最让你受不了的是,他经常在让你做了很多新想法尝试之后,突然觉得还是原来的方案好,于是又让你改回去。非常inhuman!。现在,他让你做一个word文档,你忙活了大半夜赶工终于做出来了,为了以防万一,你想利用github for Windows来进行版本管理。事实上,你不用脚也能想到他将来肯定会让你改方案。

       需要说明的是:在使用github for Windows之前,你需要创建一个Git账号,这个这里就不讲了。

          1、创建一个Repository

打开github for Windows界面,点击create按钮,就会弹出创建版本仓库的界面。我们这里只讲本地仓库,所以将Push to GitHub前面的勾去掉。

计算机生成了可选文字: 口X[efresh今土0015Loca}口茜口限F1lterrePOsitories今GitHub白dragarepositoryheretoadd白计算机生成了可选文字: Loca}0Newreposi'o即月GitHubJaCoryE:订em必PUShtoGitHUb②C陀ateOC"n'e'

      可以看到,有三个栏目需要我们填写,分别是Name(仓库名称)、Description(描述)和Directory(仓库路径)。仓库路径就是我们本机的文件路径,指定我们的版本文件放在哪里,比如我放在“E:\Temp\”目录下。现在我们分别填写如下:

NameTest

DescriptionTest github for Windows-----Jacory Gao

DirectoryE:\Temp\

这时,点击Create之后,在E盘的Temp目录下,新建了一个Test文件夹。计算机生成了可选文字: 名称.gitattribute,.gitignore

同时,可以看到这个文件夹里面多了两个文件,Git版本控制的属性文件都在这里,我们不用管他,只要不删除就是了。在github for Windows界面中也出现了一个本地仓库Test

     计算机生成了可选文字: +二reateo,ffesh今10015Loca}匹遍遍今GitHub.

2、创建一个文件。

   现在,我们已经拥有了一个受GitHub监视的文件夹了,我们往这个文件夹里面添加一个word文件,如下图。

   计算机生成了可选文字: 地磁盘(E:)*TempTest己攫名称修改日期类型大小_.gitattributes一9itignore哟9it卜。b下est.docx2014/2/1星期六…2014/2/1星期六…2014/4/15星期…GYrATTRIBUTESGl刀GNORE文件MicrosoftWord

    这时,再回到github for Windows的界面里面,我们双击Test仓库。就可以看到我们对文件夹所做的更改了。

                                               

    现在,我们需要填写界面左上角的提交信息,并且点击Commit来提交这个版本。

  计算机生成了可选文字: Uncommittedchanges"'deorepositoryl添加了一个githubTestdocx文档COmmittomaste「361巴tobe仁Ommitted

    之后我们会发现,这个仓库信息被成功提交了。

计算机生成了可选文字: 飞,J产卜氏工吸汀洲C户川卜、a了r‘飞』曰O丁est@pushtogithub⑦masteFroII队沪}22Nouncommittedchanges‘声expandall乙revertUnsyncedcommitsrep0SitorylJacory心68c165a添加T一个github丁est.docx文档.gitattributes.gitignore215..…History*9ithubTest.docx

3、创建新的分支,并更改文件。

   现在我们想要进行一些文件的更改,但是为了保险起见,我们启用一个新的分支来进行这个操作。关于分支的内容你可以想象成流水线,master是默认的分支,一般作为工程的主分支,你可以新建无数个分支来进行别的操作,之后可以把这些工作于主分支合并,或者删除这些分支,并不影响主分支中的文件内容。更多的知识你可以参考《pro git》。

现在我们先创建一个分支Test,通过点击master按钮,并在栏目中填入Test,点击createbranchTest,建立一个新的分区

计算机生成了可选文字: X卫ushtogithub⑦m"',,『BranchesTe'tp鱼anage/mergeX+CFeatebFanCh:Test,1味..…

    此时,我们的界面上分支显示当前分支为Test分支。

计算机生成了可选文字: @卫ushtogithub⑦Test@Branches夕皿anage/merge口口口口口口口口入masteF,一.1-一曰口口口口日口卜L月匕Lrl二七护

   现在我们在word文档里面做一些更改试试。我们在word文档里面随意键入一些字符,并保存文档。

 计算机生成了可选文字: GithubforWindowsTest---一JacoryGao、

   再次打开github for Windows中的Test仓库,我们看到Git已经监测到我们对文件做了更改,并且我们需要填写提交信息来进行提交一个新的版本。同样,填写相应的信息后,点击Commit提交。

 

 计算机生成了可选文字: O丁est@卫ushtogithub⑦Test④Uncommittedchangesrepository2inTe'tBranch更改了word文档中的内容。h.d·O}口Fi!estoCommit尹‘collapseall,口9ithubTest·docXBinaryfilesdiffer.向CommittoTest1石letobecommitted

 

 计算机生成了可选文字: O,est@。ushtogithub⑦Test④Nouncommittedchangesrepository2inTestBranchJacory心622145f,才collapseall乙revert点rollbackUnsyncedcommits更改了word文档中的内容。.repository2inTestBranchjust~勿Jacory.'g''h"b'e"'d”〔xBinaryfilesdiffer'、JZrepositoryl三尸}朋便::g。{JacoryHistory

   现在我们拥有了两个不同的版本。请注意,此时我们的word文档里面是有内容的。

4、返回以前的版本。

    现在我们需要返回到主干工程master分支上去,以撤销我们在Test里面所做的一切更改。非常简单,我们只需要在分支切换工具上,点击master工具就好了,就这么简单。

计算机生成了可选文字: @pushtogithub②m"',,r④Branches夕皿anage/mergeFilterOrC陀steNeWTest口口口口.                                                

   现在再去看看我们文件夹里面的文件,打开word后发现,原来的内容不见了。

计算机生成了可选文字: 目                                      

如果我们想要再回到更改之后的内容。同样,你只需要切换到Test分支就可以了。这也就是说,我们可以通过新建分支来进行各种不同的版本管理,当然你还可以将新建的分支合并到主分支master中去。本文主要目的在于引导大家使用github for Windows,因此不会太深入讲解其中的原理。最后我再一次推荐大家阅读《pro git》。

发布了33 篇原创文章 · 获赞 41 · 访问量 25万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章