家园工作室Git规范及实例

家园工作室Git规范及实例

2018/05/20

转自 家园项目Git规范-V2
家园工作室Git仓库-git.ncuos.com

规范制订背景

  • 家园项目日渐增多,每个项目使用的Git开发方式都不一样,给跨项目合作与维护带来了一定程度上的困扰。
  • 统一 Git Flow,提高开发效率,向正式互联网公司的开发模式看齐。

具体内容

  • 有且仅有一个主分支,master分支
  • 两种临时分支,功能(feature)分支与修补bug(fix)分支
  • 如果有明确版本的项目,在发布新版本时打上相应版本tag
  • 临时分支合并完成后就删除,不做保留

1. master分支

  • 代码主分支
  • 不允许直接推送代码到master分支,所有新功能与BUG修复均从master分支checkout新分支,完成后提PR并合入
  • 确保master分支质量,不允许出现master分支无法部署的低级问题

2. feature分支

  • 用于开发新功能,完成后合并回master分支
  • 命名以 feature/新功能名字 为准,不使用任何无意义的单词 (示例:feature/login, feature/topic-editor)
  • 一个分支只完成一个功能
  • 合并前确保能正常编译或者部署

3. BUG修复分支

  • 用于修复产品bug,完成后合并回master分支
  • 命名以 fix/bug名称 为准,不使用任何无意义的单词 (示例:fix/topic-editor fix/login-502)
  • 一个分支可修复多个BUG
  • 合并前确保能正常编译或者部署

4. Tag版本标签

  • 适用与当前项目按明确版本对外发布的,如App
  • 发布正式版本时,需打上Tag版本号,并推送到远端

5. 文档

  • 项目文档统一放置于docs文件夹
  • 后端部分,需要包含部署,Api等文档
  • 前端部分需要包含编译构建流程文档

6. 其它事项

  • 项目中必须有.gitigore,并屏蔽编辑器自定义配置/编译文件/依赖文件等
  • 不允许提交无意义的commit message,如aaa,bbb等信息
  • 勤commit,修复一个bug,完成部分新功能即commit一次,不要一次提交包含多个功能或者十几个改动等

以上为规范,下面举一个实例(昨天第一次修BUG)

1.发现BUG,重新克隆一个仓库到本地;
2.在目录下打开GIT BASH, 并输入git checkout -b bug/poor_assess 创建一个新分支;
3.在新分支下对代码进行修改;
4.Git add 然后摁几下Tab, Git帮你自动定位到修改过的文件, 并回车add;
5.git commit -m "Deleted an extra label";
6.在远程仓库也建立一个bug/poor_assess分支;
7.git push origin bug/poor_assess;
8.然后在远程仓库提出一个Pull Request, 添加管理员到评审者中, 请求别人合并你的分支到Master;
9.大功告成.

以上 2018/05/20

最后修改:2019 年 09 月 30 日 12 : 08 AM
如果觉得我的文章对你有用,请随意赞赏

发表评论