Git图表工具

Git团队协作规范

2020-02-21  本文已影响0人  i5yue

Git团队协作规范

为什么要使用Git

为什么要用git?我觉得不要我多说多了吧,因为大家都在用呀,用起来就是爽!!!
所以下面介绍点学习git资料,让你爱上学习。
话说被大伙称为git圣经
猴子教你来学习下吧,同时来通过Learn Git Branching来玩下通关的刺激吧。git的相关资料大家自己再找时间去学习,接下来大家主要看下面关于我们git作业的一些相关规定,请仔细阅读,牢记在心,避免工作中踩坑。

分支约定

主分支

  • master分支存放的是随时可供在生产环境中部署的稳定版本代码
  • 一个项目只能有一个master分支
  • 仅在发布新的可供部署的代码时才更新master分支上的代码
  • 每次更新master,都需对master添加指定格式的tag(git tag -a v0.0.1),用于发布或回滚。
  • master分支代码只能被release/分支或hotfix分支合并,意味着不能在master分支上直接修改代码*
  • 只能衍生于master分支
    命名规则:release/,“”以本次发布的版本号为标识,比如我们的月度版本release/2020.2.27,但一般项目稳定情况下,用release作为分支名即可。
  • release主要是为发布正式新版本做准备,代码的合并(merge)都来源于我们已经验证好并确定要上正式的开发分支feature/*。
  • 一旦成功上线,就要回归到master分支,如果在release版本期间有修复改动(比如说上线前的小缺陷),也要回归到dev分支
  • dev分支是保存了测试环境最新的开发成果的分支
  • 一个项目只能有一个dev分支
  • dev分支主要是针对的测试版本的发布,项目初次开发,还是允许在此分支开发,一旦有线上版本,后面的开发都必须从master或者release分支切一个分支出去开发(feature/*。
  • dev 作为为测试环境验证分支,主要是为了满足多人同时开发多个需求时的场景。从master分支切换过来,但是不会回归master分支,也不能在此分支上修改代码,此分支只用于测试环境的发版

开发分支(特性(feature)分支)

hotfix分支

bugfix分支

下图为分支管理的模型图

git工作流.png

使用规范

commit使用基本要求

--no-ff 的作用

默认情况下,Git执行“快进式合并(fast-farward merge)”,会直接将Master分支指向dev分支。使用了--no-ff参数后,会执行正常的合并,在Master分支上生成一个新节点。所以为了保证版本的演进的清晰,我们希望采用这种做法。

git merge --no-ff release

git 相关命令脚本

配置别名

 git config --global alias.st status
 git config --global alias.co checkout
 git config --global alias.ci commit
 git config --global alias.br branch

//  以后 你就可以愉快使用简单命令了
git st 代替 git status
git co 代替 git checkout
git ci 代替 git commit
git br 代替 git branch

常见命令语句

// 如果当前处在master分支,那最后一个参数可以不填。此命令的效果是创建dev分支,并切换到dev分支
git co -b dev master
git co -b feature/test master  //创建feature/test 分支  
git ci -a -m "des"// 可以将git add . 和 git ci 命令合为一体
git co release 
git merge --no-off feature/test  // 采用--no-off 的合并模式
git br -d feature/test //删除本地分支 但是如果没有merge git会提示你改用大写D
git push origin :feature/test  //删除远程分支
git push origin --delete feature/test  //这样也能删掉远程分支
git tag -a v0.0.1
git log
git log --pretty=oneline //简洁的方式
git log --oneline //更简洁的方式
git reset --hard HEAD^ //回退上一个版本 HEAD^^意思就是上上个版本
// 如果要回到特定版本
git reset --hard *** //*** 表示上面git log 查询出来的哈希值

版本号简单说明(tag)

  **v1.2.3**

1.主版本号:当新增或修改了不兼容的API操作

2.次版本号:当新增或者修改了向下的功能

3.修订号:当做了向下兼容的问题修正

参考资料

上一篇下一篇

猜你喜欢

热点阅读