分支规范和git提交规范

275 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情 >>

背景

前端所有工程目前只有一个dev分支在使用,新的版本的开发任务以及提测版本错误问题也全部在这个分支上进行开发,从而会导致很多问题出现,非常不利于版本的控制

下面用这张图来说明前端分支管理方法

main:稳定版本分支,经过测试才能合入当前的main分支

EMR-release-20220218:开发/测试分支; 命名规则: 模块名称-release - 提测时间戳

注意:

  1. 目前前端工程目前已经开启了eslint,并参照我们的前端代码规范进行相关的eslint规则配置,默认会在提交commit时进行校验,
  2. 当然如果比较紧急可以采用下面的的方式避开校验,但是这只是在短期内如此,后期将打开服务端校验,所以在下面一个周期内,每个工程对应的前端负责人,务必清除掉全部的eslint的问题
git commit --no-verify -m "提交注释"   //可以跳过代码检查

代码提交规范

有Jira号的代码提交格式

Issue:DEVOPS-1702;测试提交注释

说明:Issue + 半角冒号+Jira号+半角分号+注释

无jira号的代码提交格式

NoIssue;测试没有任务号的提交测试

说明:NoIssue +半角分号+注释

git常用命令

  • git clone

    git clone url  克隆远程版本库
    
  • git checkout -b dev

    git checkout -b dev   创建开发分支dev,并切换到该分支下
    
  • git add

    git add .   添加当前目录的所有文件到暂存区
    git add [dir]   添加指定目录到暂存区,包括子目录
    git add [file1] 添加指定文件到暂存区
    
  • git commit

    git commit -m [message] 提交暂存区到仓库区,message为说明信息
    git commit [file1] -m [message] 提交暂存区的指定文件到本地仓库
    git commit --amend -m [message] 使用一次新的commit,替代上一次提交
    
  • git log

    git log  查看提交历史
    git log --oneline 以精简模式显示查看提交历史
    git log -p <file> 查看指定文件的提交历史
    git blame <file> 一列表方式查看指定文件的提交历史
    
  • git diff

    git diff 显示暂存区和工作区的差异
    git diff filepath   filepath路径文件中,工作区与暂存区的比较差异
    git diff HEAD filepath 工作区与HEAD ( 当前工作分支)的比较差异
    git diff branchName filepath 当前分支的文件与branchName分支的文件的比较差异
    git diff commitId filepath 与某一次提交的比较差异
    
  • git status

    git status  查看当前工作区暂存区变动
    git status -s  查看当前工作区暂存区变动,概要信息
    git status  --show-stash 查询工作区中是否有stash(暂存的文件)
    
  • git submodule

    git submodule init git子模块初始化
    git submodule update git子模块更新
    
  • git pull/git fetch

    git pull  拉取远程仓库所有分支更新并合并到本地分支。
    git pull origin master 将远程master分支合并到当前本地master分支
    git pull origin master:master 将远程master分支合并到当前本地master分支,冒号后面表示本地分支
    git fetch --all  拉取所有远端的最新代码
    git fetch origin master 拉取远程最新master分支代码
    
  • git push

    git push origin master 将本地分支的更新全部推送到远程仓库master分支。
    git push origin -d <branchname>   删除远程branchname分支
    git push --tags 推送所有标签