1.持续集成介绍
1.1持续集成概念
持续集成(Continuous Integration,简称CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。
持续集成目的:让产品可以快速迭代,同时还能保持高质量
1.2持续集成的好处
# 快速发现错误
每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易
# 防止分支大幅偏移主干
如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
# 更快速的发布更新
持续集成可以帮助团队更快速、更积极的发布程序和更新程序。在发布时可自动完成大量重复的工作、节省人力
2.Git于代码托管平台
21.Git
Git是目前世界上最先进的分布式版本控制系统
Git安装:
1.下载安装包,下载地址:https://git-scm.com/downloads
2.双击运行,然后按默认选项安装即可
3.校验是否安装成功,打开命令窗口,输入命令:git --version,看到git版本信息表示已经安装成功
2.2代码托管平台
安装完成后,还需要最后一步设置,在命令行输入:
git config --global user.email "email@example.com"
git config --global user.name "Your Name"
(1).Github
是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱
国外的,受网络环境影响较大
官网:https://github.com/
(2).Gitee
即码云,是开源中国免费提供(企业版收费)
国内的,受网络环境影响较小
官网:https://gitee.com/
2.3使用Gitee
(1).Gitee介绍
码云Gitee是开源中国开发的一款基于Git的代码托管平台,能够实现代码托管、项目管理、协作开发。
目的是国内最大的代码系统,目前已有超过 500 万的开发者选择码云
Gitee和GitHub的作用和性质是类似的,Gitee优势是速度快
(2).在Gitee中创建仓库
1).点击按钮创建一个仓库
2)编辑仓库信息,点击创建
3)获取克隆地址并拉取代码
git clone 仓库地址
4.Git命令
# 1.本地仓库
(1).初始化本地仓库:git init(***)
(2).查看状态:git status(*****)
(3).提交至暂存区:git add filenamel.(*****)
- filename:文件名
- .:所有文件
(4).提交至仓库:git commit -m 'message'(*****)
(5).创建分支:git branch dev(****)
(6).切换分支:git checkout dev(****)
(7).删除分支:
git branch -d dev:删除dev分支
git branch -D dev:强制删除dev分支
(8).创建并切换到一个分支上:git checkout -b prod
(9).合并分支:git merge dev(****)
# 2.远程操作
向GitHub提交代码,首先需要解决的就是要有个GitHub账号,并且可以连上GitHub,获得授权,接下来是一些操作
(1).获取远程仓库授权(GitHub + Gitee)
# 获得GitHub授权:
- 生成SSH key:ssh-kengen -t rsa
- 获取公钥:
- Windows:c/Documents and Settings/username/.ssh
- mac:~/.ssh
- GitHub账号添加SSH key
- 验证:ssh -T git@github.com
Hi! You've successfully authenticated....
# 获取Gitee授权
- Gitee添加SSH公钥:设置 --> SSH 公钥
(2).克隆项目并提交代码
- 克隆项目:git clone git@github.com:xxx/yyy.git
注:克隆及复制远程仓库,并在本地创建仓库,不用手动git init初始化了
- 提交暂存区:git add filenamel.
- 提交至本地仓库:git commit -m 'message'
- 提交至远程仓库:git push origin 分支名
- 拉取最新代码:git pull origin master
- 合并代码
(3).回滚
1).提交至暂存区但为提交至本地仓库(add了,没commit)
查看状态:git status
删除提交至暂存区的某个文件:git reset HEAD filename
删除提交至暂存区的所有文件:git reset HEAD.
2).提交至本地仓库但未推至远程仓库
查看提交日志:git log
回滚本地仓库:git reset --hard commit_id
3).推送至远程仓库实现回滚
查看提交日志:git log
回滚本地仓库:git reset --hard commit_id
强制推送到远程仓库:git push origin HEAD --force