通过GitHub来演示GitHub Flow
1. 创建一个组织
- 选择新组织
- 创建名称,所属选择个人,选开源项目,不需花费金额
填入邮箱
创建,然后进入下一步
2. 邀请成员
-
通过GitHub账号名称邀请,可邀请多个
被邀请的成员会接收到通知,如果没有修改通知设置的,默认通知到邮箱,会收到一个邮件,如果通知中开启了web通知,那么当其登陆GitHub账号时会收到通知 -
接下来是一些配置,不用配置,直接跳过
3. 创建一个新的储存库
相关配置
这里协议选择MIT协议,这是一个比较宽松的协议,别人可以下载你的代码,可以用你的代码赚钱,也可以不告诉你,这个对于我们无所谓,如果其他情况,就考虑其他的
创建储存库后,可以用ssh协议来上传代码等操作,不需要使用密码
4. 克隆文件
这时候,使用 git clone 可以将该储存库中的文件克隆到本地
gitTest项目就克隆下来了,里面有三个文件,其中.gitignore是隐藏文件
5. 相关文件的介绍
使用vim命令查看相关文件,也可以使用cat命令
比如查看 .gitignore文件
vim .gitignore
这些文件有用正则去匹配,匹配上的文件是被跟踪的,这些不会提交到git上
比如这些系统本身的虚拟环境
6. 模拟新项目的创建
1 虚拟环境的创建
- 使用命令创建虚拟环境
python3 -m venv ./.gitvenv
# 创建了一个.gitvenv虚拟环境,该文件为隐藏文件
首次使用,如果显示没有这个命令,要先安装
sudo apt install python3-venv
然后就能使用上面的命令创建虚拟环境了
- 进入该虚拟环境
source ./.gitvenv/bin/activate
可以看到前面就有了虚拟环境的标识
- 安装相关的依赖包
pip install ipython django redis django-redis gevent gunicorn requests celery
# 如果安装太慢,可以使用国内镜像源
pip freeze # 查看安装的依赖包
pip freeze > requirement.txt # 将依赖包写入一个txt文件
2. 将初始化环境提交到远程仓库
- 将修改提交到本地git仓库
- 提交到远程仓库
由于是从GitHub上克隆下来的,会默认提交到GitHub上的master分支上,所以不用在push命令后加参数
直接输入命令
git push
现在,就已经创建好了一个基础环境
3. 创建分支
- 创建develop分支
git checkout -b develop
# 该命令是创建分支并切换到新创建的分支上
可以查看一下
此时本地有两个分支,且已经在develop分支上,现在将develop分支上传到远程仓库
- 在develop分支上创建两个功能分支
记住,在develop分支上创建功能分支一定要是在develop分支上,不能是其他分支
这里先创建了user分支,然后需要切换回develop分支再去创建like分支
4. 模拟分支
- 在user分支上创建一个文件(模拟在user分支上开展项目)
创建了一些伪代码
提交到本地git仓库
注意: 项目的操作最好都应该在虚拟环境下进行,由于这里并不是真正开展项目,所以可以无所谓
- 在user分支上修改功能
假设增加了一个功能
然后提交到本地git仓库
假设现在user这个分支的功能就完成了,可以合并到develop分支上了
(实际开发中,代码合并到分支之前,需要提交给相关负责人员去生贺,审核过后,才能合并到develop分支上)
将user功能分支提交到远程仓库
5. 拉请求
将远程仓库中的user这个功能分支合并到develop分支上
创建一个拉请求,先不创建请求
在公司中,一般都要经过评审人的审核才能通过分支合并的申请,模拟一下增加这个规则
(可以使用两个GitHub账号模拟体验一下)
这些规则可以按情况添加,比如添加审核规则,需多少人审核同意后,合并才能通过
查看一下这个拉请求
点进去后可以查看代码的更改,提交次数等信息
审核者可以添加审核标记
然后完成此次审核
然后回跳转到审核的结果
然后就需要提交代码的程序员去修改,直到审核通过
审核通过后,可以删除user分支,因为user分支已经合并到develop分支上,可以去develop分支上查看,会多出一个py文件
然后还可以在本地将develop分支的代码拉下来