一 、devops简述
1 devops理解:是一种理念,一种方法。狭义的说,就是开发运维测试共同协作。广义的说是项目组所有人共同协作。通过一些过程规范,协作方式,自动化工具,把开发测试运维紧密的结合在一起。使得构建,测试,发布软件更加频繁,快捷,可靠。
2 devops作用:提高产品质量。怎么做?
01 自动化测试:写完代码一发布,会自动测试代码有没有问题
02 持续集成:开发写完代码,不断的进行代码合并
03 代码质量管理工具
3 devops如何实现?
设计架构规划-->代码的存储-->构建,测试,预生产,部署,监控
二 Git版本控制系统
1 版本控制系统简介
版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本内容情况的系统
2 为什么需要版本控制系统
记录文件的所有历史变化
随时可恢复到任何一个历史状态
多人协作开发
3 常见的版本管理工具
SVN:集中式的版本控制系统,只有一个中央数据仓库,如果中央粗库挂了,所有人都无法使用SVN。
Git:分布式版本控制系统,在每个使用者电脑上都有一个完整的数据仓库,没有网络依然可以使用Git,为了习惯以及团队协作,会将本地数据同步到git服务器或者github等代码仓库
三 git常见的命令
1 文件组成
. //工作目录
.git
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── index //暂存区
├── info
│ └── exclude
├── objects //代码仓库
│ ├── e6
│ │ └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
2 常用的git命令
git status //查看当前的状态
git add a //添加一个文件,将文件添加到暂存区
git add .或者git add * //添加当前所有的文件到暂存区
git rm --cached c //将暂存区的文件撤回
git rm -f c //将工作区和暂存区一起删除
git commit -m "add file" //将暂存区的所有数据都提交到代码仓库
git mv a a.txt //将工作区和暂存区的文件改名
git diff //默认比对工作目录和暂存区有什么不同
git diff --cached //比对暂存区和本地仓库
如果某文件已经被仓库管理,那么再提交时候,可以直接git commit -am . //提交代码到本地仓库
git log 查看每次提交的快照信息
git log --oneline //按行查看信息
git log -p 显示具体内容的变化
git log -1 //只显示最近的一条记录
git reset --hard 哈希值 //回滚数据到某一个提交,回到过去 git log都没了
git reset --hard 之前的哈希值 //又可以回到刚才的提交
git reflog //查看所有的历史操作
分支
git log --oneline --decorate //查看当前指针的指向
git branch testing //创建一个分支
git branch //查看所有分支
git checkout -b testing //创建并切换到分支
git branch -d testing //删除分支
分支合并
git merge testing -m "merge testing" //在主干上操作,就会将分支合并到主干上,分支合并完成后,就可以丢弃了
解决冲突合并:查看冲突的文件,手动修改