0%

git开发流程

传统流程

主要分为两个分支,一个为main,一个为开发分支,其中main分支为主要分支,需要保证分支上的代码能够正常运行,功能正常,而开发分支则用来开发新功能,修复bug等。

单人多机远程开发

当在多个场所进行开发时如:公司、学校、家等,则需要维护一个远程的公共仓库,对于每个机器,在进行开发时,都需要在本地pull最新的远程提交,并将开发分支合并进main分支进行测试,然后提交

1
2
3
4
5
6
7
8
9
10
# com1
git checkout main
git pull
git checkout fea1
git merge main
# test
# ok
git checkout main
git merge fea1
git push

多人单仓库开发

当存在多人对一个远程仓库进行开发时,通常每个人都负责不同的功能进行开发,对应这不同的分支,在进行提交之前也要pull最新主分支代码,将自己开发的功能代码合并进去进行测试,然后push到远程仓库,和单人多机基本相同

1
2
3
4
5
6
7
8
9
10
11
12
13
git checkout -b fea1 # 创建开发功能分支
# develop

# 开发完毕
git checkout main
git pull
git checkout fea1
git merge main
# 解决冲突和测试
git checkout main
git merge fea1

git push orgin main

多人多仓库PR开发

开发过程同单仓库,当需要将自己开发的代码提交到主仓库中时,需要从主仓库拉取最新代码到主分支,然后将开发分支合并到主分支进行测试,通过后便可通过向主仓库提交pr,经过多方review等之后便可合并进主仓库。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# fork 到自己远程仓库
git clone xxx # 到本地
git remote add main-xxx xxx # 添加主仓库
git checkout -b fea1
# develop

# 开发完毕
git checkout main
git fetch main-xxx
git checkout fea1
git merge main
# 解决冲突和测试
git checkout main
git merge fea1
git push xxx main # 推送到自己仓库

# 在网页上提交pr

接受pr流程,在本地添加发送方仓库,创建一个分支来检测是否正常,然后在网页上接受pr或者本地合并,然后删除本地测试内容

1
2
3
4
5
6
7
8
9
10
11
12
git clone xx-pr xxx # clone 发送方仓库
git fetch orgin # 更新自己仓库
git checkout -b pr-test
git merge xx-pr/main
# 测试
# 在网页上接受pr 或者
git checkout main
git merge xx-pr/main
git push
# 删除本地测试内容
git branch -D pr-test
git remote remove xx-por

GitFlow开发流程

其中主要分为几种类型的分支

  • main分支
  • develop开发版分支
  • feature功能开发分支
  • release发布分支,处理发布工作
  • bugfix分支
  • hotfix分支

其大致流程主要如下

  • develop开发分支创建功能分支进行功能开发和实现
  • feature分支的工作结束并测试后,合并到develop分支当中
  • 重复上两步,直到可以发布
  • 创建release分支处理,处理发布事务,更新文档等

vscode中使用Gitflow Actions可以很方便的完成以上的操作