Git初接触

现在Git这么火,加上Git@OSC也上线了,真是应该学学Git了。也做做笔记

Git是什么?

  • Git是一个分布式版本控制系统(DVCS),诞生于2005年,最初用于Linux内核开发的版本控制工具。分布式版本控制系统是什么?那就要先了解版本控制系统(VCS)。

版本控制系统(VCS)

  • 我们平时在写篇幅比较长的文档,有时候为了给每次修改留档分类,方便日后找回以前的内容都要另存一份出来。我们会为每存下来的文件加上时间啊、注释说明啊什么的进行归档,但这样会生成大量文件,占用不必要的空间,文件量大同时也不便于我们查找。于是为了方便我们管理,版本控制系统(version control system——VCS)就因此而生。对于它的工作原理,个人暂时理解为每次留档时都会记录我们对文件的具体修改,增加了什么,删减了什么,是谁操作的,在什么时候操作的并留下版本号,把数据存于数据库。当我们要找回以前的记录,就可以根据版本号从数据库中找回以前的内容。

版本控制系统类型

  • 集中式版本控制系统(CVCS):
    为了多人协作处理项目,集中式版本控制系统由此而生。常见的CVCS有CVS、SVN等。它以一个服务器,集中管理项目的修订版本,其他协作处理人员可以通过连接服务器,获取最新文件或提交更新。虽然解决了多人协作,但是缺点尤为明显,处理人员只能通过连接服务器才能工作,一旦脱离了连接,就什么事都干不了。而且由于只集中在核心的服务器上,一旦有所损坏,什么资料都会消失个光光。
  • 分布式版本控制系统(DVCS):
    DVCS的出现,很好地解决了CVCS的问题。它与集中式不同,不只是获取最新版本的文件快照,而是把整个版本控制内容在本地作一个完整镜像。假如一台服务器出了问题,可以通过其它服务器上的镜像恢复。也因为用户本地有完整的镜像,所以可以不用连接上服务器,进行离线工作,等到提交更新时再连接服务器,提高了工作效率。

经过上面的描述后,我们回到重点上——Git。
    Git有一个特点,它在提交版本更新时会对文件作快照,与一般版本控制系统只记录文件修改前后的差异不同。这也是为什么Git比较快。不过如果更新过多,也会导致占用太多空间资源,而Git也提供压缩方法来解决。好吧,话说了这么久该动动手了。

    开始的第一部当然是安装Git咯。我是在Windows上学习Git的,所以是安装msysgit(下载地址:http://msysgit.github.io/)。而用其它系统的同学可以下载相应的适用版本(可参照:http://git.oschina.net/progit/1-%E8%B5%B7%E6%AD%A5.html#1.4-%E5%AE%89%E8%A3%85-Git)。
    msysgit提供Git Bash和Git GUI两种操作方式。
Git初接触_第1张图片
    其实我觉得两个配合一起用很方便。大部分操作用Git Bash。而我下面也是用Git Bash为主。

    运行Git Bash,我们可以看到命令操作界面。
Git初接触_第2张图片

    可以看到界面显示版本号为1.8.4,还有两行命令提示:

Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
    我们可以输入git help git来呼出帮助页面。
$ git help git
Launching default browser to display HTML ...
Git初接触_第3张图片

命令:

  • git init    初始化版本库
  • git add <文件名>    添加文件跟踪(创建文件快照)
  • git checkout -- <文件名>    取消工作区的修改
  • git reset HEAD <文件名>    恢复文件到快照前
  • git commit -m "<提交描述>"    提交快照
  • git status 

你可能感兴趣的:(git,git笔记)