作者:empty 页数:100 出版社:empty |
史上最浅显易懂的Git教程!为什么要编写这个教程?因为我在学习Git的过程中, 买过书, 也在网上Google了一堆Git相关的文章和教程, 但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支.
史上最浅显易懂的Git教程!为什么要编写这个教程?因为我在学习Git的过程中, 买过书, 也在网上Google了一堆Git相关的文章和教程, 但令人失望的是, 这些教程不是难得令人发指, 就是简单得一笔带过, 或者, 只支离破碎地介绍Git的某几个命令, 还有直接从Git手册粘贴帮助文档的, 总之, 初学者很难找到一个由浅入深, 学完后能立刻上手的Git教程。既然号称史上最浅显易懂的Git教程, 那这个教程有什么让你怦然心动的特点呢?首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度;其次, 本教程实用性超强, 边学边练, 一点也不觉得枯燥。而且, 你所学的Git命令是“充分且必要 的, 掌握了这些东西, 你就可以通过Git轻松地完成你的工作。文字+图片还看不明白?有视频!!!本教程只会让你成为Git用户, 不会让你成为Git专家, 很多Git命令只有那些专家才明白(事实上我也不明白, 因为我不是Git专家) , 但我保证这些命令可能你一辈子都不会用到, 既然Git是一个工具, 就没必要把时间浪费在那些“高级“但几乎永远不会用到的命令上。一旦你真的非用不可了, 到时候再自行Google或者请教专家也末迟。如果你是一个开发人员,想用上这个世界上目前最先进的分布式版本控制系统,那么,赶快开始学习吧!关于作者
廖雪峰, 十年软件开发经验, 业余产品经理, 精通Java/Python/Ruby/VisualBasic/ObjectiveC等, 对开源框架有深入研究, 著有《Spring 2.0核心技术与最佳实践》一书, 多个业余开源项目托管在Git Hub, 欢迎微博交流:使用窄屏手机的童鞋,请点击左上角“目录 查看教程:目录餐三读后有收获可以支付宝请作者喝咖啡:
Git简介Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一) ,Git有什么特点?简单来说就是:高端大气上档次!那什么是版本控制系统?如果你用Microsoft Word写过长篇大论, 那你一定有这样的经历:想删除一个段落, 又怕将来想恢复找不回来怎么办?有办法, 先把当前文件 另存为.“一个新的Word文件, 再接着改, 改到一定程度, 再 另存为. 一个新文件, 这样一直改下去, 最后你的Word文档变成了这样:
过了一周,你想找回被删除的文字,但是已经记不清倒除前保存在哪个文件里了,只好一个一个文件去找,真麻烦,看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。更要命的是, 有些部分需要你的财务同事帮助填写, 于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她) , 然后, 你继续修改Word文件。一天后, 同事再把Word文件传给你, 此时, 你必须想想, 发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合井,真困难。于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里一眼就可以,岂不是很方便?这个软件用起来就应该像这个样子,能记录每次文件的改动:
这样,你就结束了手动管理多个“版本 的史前时代,进入到版本控制的20世纪。读后有收获可以支付宝请作者喝咖啡:
Linus虽然创建了Linux, 但Linux的壮大是靠全世界热心的志愿者参与的, 这么多人在世界各地为Linux编写代码, 那Linux的代码是如何管理的呢?事实是, 在2882年以前, 世界各地的志愿者把源代码文件通过diff的方式发给Linus, 然后由Linus本人通过手工方式合并代码!你也许会想, 为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN, 这些集中式的版本控制系统不但速度慢, 而且必须联网才能使用, 有一些商用的版本控制系统, 虽然比CVS、SVN好用, 但那是付费的, 和Linux的开源精神不符。不过, 到了2082年, Linux系统已经发展了十年了, 代码库之大让Linus很难继续通过手工方式管理了, 社区的弟兄们也对这种方式表达了强烈不满, 于是Linus选择了一个商业的版本控制系统Bitkeeper, BitKeeper的东家Bit Mover公司出于人道主义精神, 授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了, 原因是Linux社区牛人聚集, 不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解Bitkeeper的协议(这么干的其实也不只他一个) , 被Bit Mover公司发现了(监控工作做得不错!) , 于是Bit Mover公司怒了, 要收回Linux社区的免费使用权.Linus可以向Bit Mover公司道个欺, 保证以后严格管教弟兄们, 嗯, 这是不可能的。实际情况是这样的:Linus花了两周时间自己用c写了一个分布式版本控制系统, 这就是Git!一个月之内, Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。Git迅速成为最流行的分布式版本控制系统, 尤其是2008年, Git Hub网站上线了, 它为开源项目免费提供Git存储,无数开源项目开始迁移至Git Hub, 包括j Query, PHP, Ruby等等历史就是这么偶然, 如果不是当年Bit Mover公司威胁Linux社区, 可能现在我们就没有免费而超级好用的Git了。Git是用什么语言开发的:
Linus一直痛恨的CVS及SVN都是集中式的版本控制系统, 而G1t是分布式版本控制系统, 集中式和分布式版本控制系统有什么区别呢?先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆,集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有 中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了,而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机,因此,分布式版本控制系统通常也有一台充当 中央服务器的电脑,但这个服务器的作用仅仅是用来方便“交换 大家的修改,没有它大家也一样干活,只是交换修改不方使而已。当然, Git的优势不单是不必联网这么简单, 后面我们还会看到Git极其强大的分支管理, 把SVN等远远抛在了后面,CVS作为最早的开源而且免费的集中式版本控制系统, 直到现在还有不少人在用。由于cvS自身设计的问题, 会造成提交文件不完整, 版本库莫名其妙损坏的情况。同样是开源而且免费的SVN修正了CVS的一些稳定性问题, 是目前用得最多的集中式版本库控制系统,除了免费的外, 还有收费的集中式版本控制系统, 比如IBM的ClearCase(以前是Rational公司的, 被IBM收购了) , 特点是安装比Windows还大, 运行比蜗牛还慢, 能用Clearcase的一般是世界500强, 他们有个共同的特点是财大气粗,或者人傻钱多。微软自己也有一个集中式版本控制系统叫V 55, 集成在VisualStudio中。由于其反人类的设计, 连微软自己都不好意思用了。分布式版本控制系统除了Git以及促使Git诞生的BitKeeper外, 还有类似Git的Mercurial和Bazaar等.这些分布式版本控制系统各有特点, 但最快、最简单也最流行的依然是Git!读后有收获可以支付宝请作者喝咖啡:
安装GitEvaluat on Warning:The document was created wth Spire.PDF for NET.最早G1t是在Linux上开发的, 很长一段时间内, Git也只能在Linux和Unix系统上跑。不过, 慢慢地有人把它移植到了Windows上。现在, Git可以在Linux、Unix、Mac和windows这几大平台上正常运行了,要使用Git, 第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:在Linux上安装Git首先, 你可以试着输入uit, 看看系统有没有安装Git:4sgit2.The program'gat'is currently not installed.you can install at by typing:像上面的命令, 有很多Linux会友好地告诉你Git没有安装, 还会告诉你如何安装Git。如果你碰巧用Debian或Ubuntu Linux, 通过一条su du apt-get Install git就可以直接完成Git的安装, 非常简单,老一点的Debian或Ubuntu Linux, 要把命令改为sud napt-got install git-core, 因为以前有个软件也叫GIT(GNU Interactive Tools) , 结果Git就只能叫git-core了。由于Git名气实在太大, 后来就把GNUInteractive Tools改成gnu it, git-cora正式改为91c,如果是其他Linux版本, 可以直接通过源码安装。先从Git官网下载源码, 然后解压, 依次输入:su de nake install这几个命令安装就好了。如果你正在使用Mac做开发, 有两种安装Git的方法。一是安装homebrew, 然后通过homebrew安装Git, 具体方法请参考homebrew的文档:http://brew.sh/。第二种方法更简单, 也是推荐的方法, 就是直接从App Store安装Xcode, Xcode集成了Git, 不过默认没有安装, 你需要运行Xcode, 选择菜单 Xcode -> Preferences , 在弹出窗中找到“Downloads”, 选择 CommandLineXcode是Apple官方IDE, 功能非常强大, 是开发Hac和ios App的必选装备, 而且是免费的!在Windows上使用Git, 可以从Git官网直接下载安装程序, 然后按默认选项安装即可。安装完成后, 在开始菜单里找到 Git ->“Git Bash , 蹦出一个类似命令行窗的东西, 就说明Git安装成功!因为Git是分布式版本控制系统, 所以, 每个机器都必须自报家门:你的名字和Email地址, 你也许会担心, 如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查注意git config命令的--global参数, 用了这个参数, 表示你这台机器上所有的Git仓库都会使用这个配置, 当