git使用
- 自动化运维架构
- 版本控制系统
1. 集中式(例如svn)
2. 分布式(例如git)
- Git 创建仓库(中央仓库)
[root@master home]# useradd git
[root@master home]# passwd git
[root@master home]# su - git
[git@master ~]$ mkdir demo.git
[git@master demo.git]$ pwd
/home/git/demo.git
[git@master demo.git]$ git init --bare
- Git 开发机
[root@slave-1 git]# pwd
/home/git
[root@slave-1 git]# git clone git@192.168.2.60:/home/git/demo.git
[root@slave-1 .git]# cat /home/git/demo/.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@192.168.2.60:/home/git/demo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[root@slave-1 ~]# git config --global user.name zeng
[root@slave-1 ~]# git config --global user.email zeng@163.com
[root@slave-1 demo]# git add hello.py
[root@slave-1 demo]# git commit -m "hello.py"
[root@slave-1 demo]# git log
commit 45ba2802f1c2f22003eba67eed67ae719b33b385
Author: zeng <zeng@163.com>
Date: Wed Mar 2 13:04:00 2022 +0800
hello.py
[root@slave-1 demo]# git push origin master
- Git 工作区
- Git 常用命令
- Git 工作流程
- Git开发流程:
1. 克隆远程版本库:git clone
2. 新建开发分支:git checkout –b dev
3. 将修改的文件添加到暂存区:git add
4. 提交暂存区到仓库区:git commit
5. 查看历史提交记录:git log
6. 获取别人提交的最新代码:git pull
7. 将本地代码推送到远程服务器:git push
- Git 分支管理
• master 主分支,最终上线分支,具有质量保证的、可正常运行的分支,禁止直接代码提交。
• develop 测试分支,用于合并feature分支。
- release 预发布分支,由feature分支合并,测试通过后合并到master分支。
- feature 新功能开发分支,开发完合并到develop,进行集成测试。
开发阶段
1、开发者基于master创建一个dev分支
2、在dev分支进行工作,周期性提交,每天推送一次
3、第二天,先对dev进行pull
测试阶段
1、测试基于dev分支创建一个release分支
2、QA对release分支进行测试,有bug提交给开发
3、开发修复bug
4、QA测试通过,团队负责人将releasee合并到master
上线阶段
1、采用master分支上线
例子:将dev分支合并到master分支:
1、切到master分支
git checkout master
2、把dev分支的代码合并到当前分支
git merge dev
3、提交到远程服务器
git push origin master
- Git分支管理与上线发布流程
- gitlab安装
yum install https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.2.3-ce.0.el7.x86_64.rpm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现