1 Git
[if !supportLists]1.1 [endif]git的概述
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
1.2 git的服务器地址
[if !supportLists]Ø [endif]国内git服务器地址:https://gitee.com/
[if !supportLists]Ø [endif]国外git服务器地址:https://github.com/
两个gitee帐号mayaole&mayaole2
1.3 Git原理图
2实战
[if !supportLists]Ø [endif]这里使用IDEA内置的git功能来讲解使用
[if !supportLists]Ø [endif]在学习前先安装
git管理工具到本地
[if !supportLists]Ø [endif]git工具默认安装的路径如下图,安装完后把bin目录添加path变量中,在终端可以查看git工具的版本号
2.1工作时开发的注意事项
[if !supportLists]Ø [endif]代码需要备份【主要是防止代码丢失】
[if !supportLists]Ø [endif]每个大版本都需要备份分支持【主要是1.0出现问题时,不能在2.0的版本上修复】
[if !supportLists]Ø [endif]每天上午上班,要从服务器下载最新的代码到本地
[if !supportLists]Ø [endif]每天下午下班前,把自己的代码提交到服务器
[if !supportLists]Ø [endif]团队开发时需要解决文件冲突问题
2.2 commit,push,branches,master讲解
课程目标:掌握每一个使用步骤的原理
Step1:
[if !supportLists]Ø [endif]安装Git工具后在IEDA里的配置git的命令执行路径
Step2:
[if !supportLists]Ø [endif]在码云上创建空白的Java仓库,用于存储工作中开发的代码备份
Step3:
[if !supportLists]Ø [endif]上传本地空项目到码云上,让仓库拥有一个项目结构
在IEDA中创建一个同名JavaWeb项目
在src目录中随便先在某个包下创建个Servlet
在gitee中,找到上传文件
然后把桌面gyfdemo01目录下的文件上传到git网站中
Step4:
[if !supportLists]Ø [endif]在IDEA中从码云下载项目,下载的地址就是在git中克隆的位置
[if !supportLists]Ø [endif]https://gitee.com/mayaole/gyfdemo01.git
[if !supportLists]Ø [endif]以后就在这个仓库上开发
找到VCS,选择git,表示从服务器下载代码
然后把git的仓库地址复制,如图,然后点clone复制份到本机桌面的某个文件夹下
这前的空项目就不再用了
克隆后如下图:
Step5:
[if !supportLists]Ø [endif]添加定单功能,多写个OrderServlet文件
新创建一个文件时,把有下面的弹窗口,选择Yes
如果不小心选中了No,可以通过另一种方式添加到本地仓库缓存
如图,点击文件右键
Step6:
[if !supportLists]Ø [endif]提交代码并写上备注到主杆
Step7:
[if !supportLists]Ø [endif]再次任意修改添加文件,然后提交
Step8:
[if !supportLists]Ø [endif]把代码推到服务器
在推的过程中,会弹出输入git服务器的用户名和密码,输入即可
推送成功后,在码云服务器会看到更新的功能
Step9
[if !supportLists]Ø [endif]再写点功能,再写个UserService提交,然后发布1.0版本,添加分枝
选择创建分枝
新创建一个分枝
Step10:
[if !supportLists]Ø [endif]切换回主杆
Step11:
[if !supportLists]Ø [endif]在主杆上进行2.0的开发,添加邮件发送功能
Step12
[if !supportLists]Ø [endif]切换回1.0分枝,进行Bug修复,然后提交
Step13:
[if !supportLists]Ø [endif]推1.0代码到服务器
Step14:
[if !supportLists]Ø [endif]不要忘记把主杆也推上服务器,先切换回主杆,再push
Step15:
[if !supportLists]Ø [endif]将master分枝与1.0分枝合并
[if !supportLists]Ø [endif]合并后,就把master推上服务器
[if !supportLists]Ø [endif]从mater中创建2.0分枝,那么master就是3.0分枝了,然后把2.0推到服务器
2.3提交历史记录查看
2.4对比不同版本的区别
2.5回退到上一个版本
[if !supportLists]Ø [endif]比如你误删了一段代码(方法),但又提交了,可以使用下面的get来进行回退
2.6团队开发,解决冲突
Step1:
[if !supportLists]Ø [endif]使用虚拟机里的IDEA下载代码【两个同学一组演示】
Step2:
添加其它开发者到当前项目组
Step3:
[if !supportLists]Ø [endif]在虚拟机中给某个类添加一些代码,比如添加个方法,然后push到服务器
[if !supportLists]Ø [endif]在push服务器中,可能失败,因为你没有把另一个开发者的帐号添加到项目组中
Step4:
[if !supportLists]Ø [endif]在本机中也在同一个文件中修改或者添加代码
[if !supportLists]Ø [endif]然后push到服务器会失败,因为代码冲突了
合并前
合并后,然后再次push即可以了
注意:A开发者更新后,另一个开发者可以重新pull更新代码到本地