Git&GitHub
简介
Git是目前世界上最先进的分布式版本控制系统
林纳斯参考bitkeeper自己做了一个git!成为领域领军软件!
版本管理系统能干什么
1、协调开发(最重要的一点):多人开发同一段代码
2、冲突解决:
3、版本记录:
4、代码备份
5、历史追查
6、版本还原
7、权限管理
8、代码审查
以往的集中管理型版本管理
经典的集中管理型(CVS、VSS、SVN)
特点:实现了大部分开发中对版本管理的需求。结构简单,上手容易。
1、版本管理的服务器一旦崩溃,硬盘损坏,代码如何恢复?
2、程序员上传到服务器的代码要求是完整版本,但是程序员开发过程中想做小版本的管理,以便追溯查询,怎么破?
3、系统正在上线运行,时不时还要修改bug,要增加好几个功能要几个月,如何管理几个版本?
4、如何管理一个分布在世界各地、互不相识的大型开发团队?
Git的实战操练
1、创建版本库
在项目文件夹内,执行:git init
2、提交文件
新建文件后,通过git status 进行查看文件状态
将文件添加到暂存区 git add 文件名
提交文件到本地库 git commit
编写注释,完成提交
或者也可以git commit -m “注释内容”,直接带注释提交
工作区:就是你电脑本地硬盘目录
本地库:工作区有个隐藏目录.git 它就是git的本地版本库
暂存区:一般存放在“git目录”下的index文件中,所以我们把暂存区有时也叫索引
系统上线了,但是产品经理又提了新的需求,评估一下工期还要两个月,但是同时系统正在上线运行,时不时还要修改bug,如何管理几个版本?分支
冲突
冲突一般指同一个文件同一位置的代码,在两种版本合并时版本管理软件无法判断到底应该保留哪个版本,因此会提示该文件发生冲突,需要程序员来手工判断解决冲突
合并时冲突
程序合并时发生冲突系统会提示conflict关键字,命令行后缀会进入merging状态,表示此时是解决冲突的状态。
GitHub实战
GitHub是一个git项目托管网站,主要提供基于Gitd的版本托管服务
协作冲突
在idea中操作Git