Git诞生
由Linux系统创建人Linus为了方便管理Linux代码,花了两周的时间用C语言写了这个分布式管理系统。 在此之前的3年使用的是BitMover公司BitKeeper版本管理软件,期间由于不止一个人想破解BitKeeper的协议,又被BitMover公司监控到了,所以终止使用。
集中式本本控制系统——SVN、分布式版本控制系统——git
集中式管理特点:
1.版本库是集中放在中央服务器,需要的时候先从中央服务器拉取最新代码,再工作。中央服务器就好比一个图书馆,你想要修改其中一本,先要从图书馆借出来,改完后再还给图书馆。 2.弊端:需要联网,提交速度看网速;中央服务器一旦出问题,版本控制将丢失; 分布式管理特点: 1.无需联网 2.每个人的电脑都保留完整的版本管理
git 基础指令
git 基础指令
git 时光机——HEAD是当前所在的版本
主要涉及指令 git log 查看提交历史以及commit id git reflog 可以查看到所有提交过的log id,版本找回的时候会用到 git reset --hard commit id(需要回滚到的版本的commit id) 例如:当前有好几个提交的版本(使用git log查看),现在我想回到“添加add2”这个版本  执行git reset --hard HEAD^ 如下图,再查看历史就已经到上一个版本了 详细可参考此处代码回滚相关指令  如果此时我关闭了终端,但是想再回到c.js怎么办? 使用git reflog可以查看到“新增c.js”的Commit id  找到commit id后执行git reset 再查看git log就会发现已经回到想要的版本了 
|