假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 有了分支,就不用怕了.你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的…
之前一直在找git的学习教程,网上搜到很多,但是大多数写的都非常简单或者混乱,你知道技术男的思维就是以为他抛一个专业术语出来,以为你都懂……或者简单写两句,插个图,他觉得他懂了,你也能懂,事实上初学者看得非常痛苦.现在终于下面这个教程,简直写得“包教包会”的程度,按照作者的体系一课时一课时地学下来,掌握基本的git操作没问题,不要以为光看看就会用了,一定要自己敲!感谢作者廖雪峰同志. 传送门:史上最浅显易懂的Git教程!…
Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分. 实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交. 可以自己建一个git服务器,也可以先直接使用GitHub. 由于你的本地Git仓库和G…
工作区(Working Directory)就是你在电脑里能看到的目录, 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD. 撤销修改: git checkout -- file可以丢弃工作区的修改 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区…
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000…
从零起步的Git教程,让你无痛苦上手世界上最流行的分布式版本控制系统Git! 既然号称史上最浅显易懂的Git教程,那这个教程有什么让你怦然心动的特点呢? 首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度: 其次,本教程实用性超强,边学边练,一点也不觉得枯燥.而且,你所学的Git命令是“充分且必要”的,掌握了这些东西,你就可以通过Git轻松地完成你的工作. 已有5000+次微博分享,如果你觉得不错,不要忘了分享给他人哦! 立刻开始学习: Git教程 Git简…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wsyht90.blog.51cto.com/9014030/1832284 文档的下载地址: 链接:https://pan.baidu.com/s/1FIph8gHIuwwwQuLi-g8pcA 密码:ykp5 相当的经典 [原理] 1)Git介绍 2)Git和SVN的区别.SVN工作流程.架构图讲解 3)Git优点.架构图.文件三种状态.三个工作区域.工作流程讲解 [实战]…
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上 改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了. 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器…
  在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理   当一个任务需要多人协作完成时,每个人可以创建一个属于自己的分支,只有自己可以看到,每个人在自己的分支上完成修改提交等任务,最终开发完毕时,将每个人的分支合并到原来的主分支,这样可以互不影响,并且保证了安全. 创建和合并分支   在一开始,git仓库只有一个主分支(master),HEAD指向master,master指向最新的提交:…
分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息(有分支的commit id).下面我们实战一下--no-ff(ff:fast forward)方式的git merge:首先,仍然创建并切换dev分支:…