开源python-gtihub flow工作流

首先注意有git flow, github flow

其中git flow更加复杂

设置

可以设置不能在主分支直接提交

quick start

开源python-gtihub flow工作流_第1张图片
github flow
开源python-gtihub flow工作流_第2张图片

  • Create a new Branch
  • Make changes and add Commits
  • Open a Pull Request
  • Review
  • Deploy
  • Merge

workflow

  • remote main,远端
  • local main,本地
  • disk main, 实际源文件

1 local 建立新的分支

git checkout -b dev

实际源文件不了解branch信息
2 修改代码
disk修改了代码,但local git还不了解

# 查看disk和local的变化
git diff

3 flow

# disk的修改放到暂存区
git add 
# 暂存区到local git里
git commit -am "message"
# local git到remote git,此时GitHub里增加了相应的dev分支
git push origin dev
# 此时可能发现main branch已经多了别人别的commit。就要测试我们dev分支里的改动是否work

# remote git同步到local git和disk,如果此时main分支已经有了新的改动,怎么办?
git checkout main
git pull -origin main # 新的主分支,同步到local和disk
git checkout dev # 回到新的dev,此时没有远端main的变化
git rebase main # 自己的修改先不管,先把mian拿过来,尝试把dev变化同步
# conflict的话,则手动修改
git push -f origin dev
# pull request
# suqash and merge

# 之后可以github删掉remote分支
git checkout dev
git branch -D dev
git pull origin main # 最新的更新拉到本地

git提交规范

  • 上 git commit template
  • 前端常用的,安装Commitizen

推荐commit message格式

(): 
(影响范围): 具体描述
  • 有项目管理工具的话,加上提单号也行

type

『feat』: 新增功能
『fix』: 修复 bug
『docs』: 仅仅修改了文档,比如 README, CHANGELOG等等
『test』: 增加/修改测试用例,包括单元测试、集成测试等
『style』: 修改了空行、缩进格式、引用包排序等等(不改变代码逻辑)
『perf』: 优化相关内容,比如提升性能、体验、算法等
『refactor』: 代码重构,「没有新功能或者bug修复」
『chore』: 改变构建流程、或者增加依赖库、工具等
『revert』: 回滚到上一个版本
『merge』: 代码合并

scope (optional)

scope用于说明 commit 影响的范围,根据不同项目有不同层次描述。若没有特殊规定,也可以描述影响的哪些功能等。

subject

subject是commit目的的简短描述,不超过50/80个字符,一般git提交的时候会有颜色提示。

开源代码,统一英文,可以再附加对应的issue地址,结尾不加标点符号

参考

  • https://docs.github.com/en/get-started/quickstart/github-flow

你可能感兴趣的:(开源python,开源,git,github)