1.什么是Git(傻瓜内容跟踪器)
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
Git是Linus Torvalds(Linus在1991年创建了开源的Linux)为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
2.Git的发展历史
(1).在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!(因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用)
(2).到了2002年,Linux系统已经发展了10年,代码库之大让Linus很难继续通过手工方式管理了,社区的兄弟们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
(3).安定团结的局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitKeeper公司发现了,于是BitMover公司怒了,要收回Linux社区的免费使用权。
(4).Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jquery,PHP,Ruby等等。
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。
3.Git与SVN的对比
集中式版本控制系统(中央服务器)
缺点:
(1).每次提交代码都需要联网(没网,或者网速比较慢)。
(2).每次提交都是直接提交到中央处理器,自己做项目不可能一气呵成,却没有自己的代码管理版本。
分布式版本控制系统(每个人的电脑都有一个库)
4.Git的安装
Ubuntu 14.04安装:sudo apt-get install git
Windows下载
Git config --global user.name “zhangsan”
Git config --global user.email “1234567@qq.com”
创建版本库
(1).新建目录xxx
(2).git init:将此目录变为git可以管理的仓库
.git:跟踪管理版本的,不要随便修改里面的文件
文件操作
Git status 查看当前工作状态
红色字体:文件还未提交
绿色字体:文件已经被添加到暂存区(临时的存储目录)
Git add index.php 添加文件到暂存区
Git commit -m “第一个文件”提交文件到版本库,并做说明
“当前提交的注释说明”:将存入暂存区的文件进行版本控制(相当于SVN里面的提交)
Git diff index.php 比较index.php的前后版本不同地方
Git log 产看历史版本
Git log --pretty=oneline 只输出一行
Cat index.php 查看一下
Git reset --hard HEAD^ 回退到上一个版本
Git reset --hard HEAD^10 回退上10次
Git reset --hard 3c3981 回退到指定的版本
Git reflog 查看版本历史。
如果你有更好的心得和建议,欢迎拍砖一起探讨。
欢迎加入【编程技术微分享】微信公众号,加入(596888158)群请留言,或联系QQ:Mr.Chen(1182929304)。