Orion's Studio.

git flow

2018/05/24

步骤

1. 新建分支

git checkout -b 类型/任务编号_任务内容

-b 代表 branch,即新建一个分支

类型有以下几种:

  • feature:功能分支
  • hotfix:补丁分支
  • release:预发分支

2. 撰写提交信息,提交分支commit

1
2
3
4
5
6
7
git add --all
git commit -m "type(scope): subject

body

footer
"

git add . 提交modified和new(git 2.0和git add –all等效)

git add -u 即 update,提交modified和deleted

git add –all 或者 -A,提交modified、new和deleted

type有以下几种:

  • build:影响构建系统或外部依赖的改变
  • chore:构建过程或辅助工具的变动
  • ci:改变ci配置文件和脚本
  • docs:即documentation,文档
  • feat:即feature,新功能
  • fix:修复bug
  • perf:代码更改,提高性能
  • refactor:重构(既不是新增功能,也不是修复bug)
  • release: 发布新版本
  • style:格式(不影响代码运行的变动)
  • test:增加测试
  • wip:移除文件或代码

scope代表本次commit影响的范围,比如app/test、shared/share-foot、webpack

subject以动词开头,第一人称现在时,不用句号

body是对subject的补充,可省略

footer放置不兼容变更和issue关闭的信息,可省略

特殊情况是revert,用于撤销以前的commit,比如 revert: feat(pencil): add ‘graphiteWidth’ option

3. 与主干同步,合并commit

1
2
git fetch origin
git rebase -i oigin/master

git fetch是获取更新,git pull是应用更新(origin代表的仓库的版本)

git merge 会合并两个分支为一个新的分支

git rebase 会取消掉一条分支并将它的改动应用到另一条分支,看上去好像只有一条分支
-i即–interactive,可以从多个commit中选择需要的保留

4. 推送到远程仓库

git push --force origin 我的分支名

因为rebase以后分支历史改变了,可能跟远程分支不兼容,所以要用–force强行推送

5. 发出pull request

在仓库pull request(即PR,在gitlab中被称为merge request)到master分支,请求别人进行代码review,确认合并到master

CATALOG
  1. 1. 步骤
    1. 1.1. 1. 新建分支
    2. 1.2. 2. 撰写提交信息,提交分支commit
    3. 1.3. 3. 与主干同步,合并commit
    4. 1.4. 4. 推送到远程仓库
    5. 1.5. 5. 发出pull request