Git项目管理规范

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

项目管理规范

目录

  1. 目录规范
  2. 命名规范
  3. Git分支管理规范
  4. 服务器管理规范

一、目录规范

├─Doc
│  └─SQL        //不断改进的SQL语句,以日期和版本号为基准命名
│  ├─PDM        //PowerDesigner数据库需求、设计稿
│  └─Data       //用于测试的相关数据信息
├─HBuilder    //APP目录,HBuilder方案 可选
│  └─User    //App用途,此处表示用户使用的App
│      ├─css    //css文件
│      ├─fonts    //fonts字体文件
│      ├─js    //js文件、自动生成
│      └─unpackage    //HBuilder规范中的不会被打包到App中的目录
│          ├─app    //项目html目录
│          │  └─User    //User模块目录
│          ├─release    //HBuilder云打包后自动下载的安装包目录
│          ├─res    //额外资源
│          │  └─icons
│          └─ts    //编写的ts代码目录
├─PHP    //php目录
│  ├─App    //PHP模块目录
│  │  ├─Controller    //PHP控制器目录,该目录下的命名空间为App\Controller
│  │  ├─Model    //PHP模型目录,该目录下的命名空间为App\Model
│  │  └─Object    //PHP对象目录,该目录下的命名空间为App\Controller
│  └─Common    //PHP公共配置目录
│      └─Config    //PHP配置文件目录,公共
├─Public    //用户可访问目录
│  ├─PC    //用户可访问的PC端目录
│  ├─src    //前端资源目录
│  │  ├─bootstrapv3    //bootstrap3目录
│  │  │  ├─css
│  │  │  ├─fonts
│  │  │  └─js
│  │  ├─bootstrapv4
│  │  ├─jquery
│  │  │  └─js
│  │  └─project
│  └─.htaccess    //access的配置文件
├─TS
│  ├─Admin
│  │  ├─tsconfig.json    //Admin模块的ts编译配置文件
│  └─User
│  │  ├─tsconfig.json    //User模块的ts编译配置文件
├─ nginx.conf     //nginx配置文件,
└─ README.md     //项目说明文件,

二、命名规范

1、变量命名

    1. 变量名称使用首字母大写的驼峰法命名,如:UserName、GameCenter      
    
    2. 若变量值为数组则使用单词复数形式,如:Users    
    
    3. 若变量为专有名词或变量英文包含三个及以上或单词很长的情况下可以使用缩写,缩写单词使用全大写方式,且标注好全称和含义,如:UID=UserID    

2、方法命名

    1. 首字母小写驼峰法,如 afterDoSearch
    2. 私有方法在方法名称前面添加下划线,如 _afterDoSearch
    3. 方法参数命名见变量命名

3、对象命名

    1. 首字母大写驼峰法,如 Class UserObject

三、 Git分值管理规范

1、必要的分支列表

    master    //主分支,保护分支,只允许管理员合并项目
    online    //在线分支,保护分支,只允许管理员合并项目,用于跟线上版本同步,自动更新到服务器
    dev        //主开发分支,开放分支
    v1.0    //版本分支,确定版本时创建一个分支
    _username    //各个开发人员自己创建的分值

2、git提交规范

1.每完成一个小功能提交一次
2.提交时只包含这个小功能的更改,不得包含其它功能更改,若有多次功能修复或添加没提交请分开提交,若多次更改或修复在同一个文件中,需要在提交备注中说明
3.提交备注必填,且必须以 [符号] 形式开头,括号中间的符号含义如:
       # BUG修复
      + 添加功能或文件
      ^ 升级,原算法不够等因素
      = 文件迁移等不影响功能性的调整          

      - 删除文件或功能

3、git基础操作

1. 创建git仓库
    通过Web创建,在git管理平台上创建,获得项目地址后,通过git clone克隆项目到本地
    本地创建,使用git init命令,然后用git remote add 仓库名称 仓库地址
2. 添加文件
    git add 文件名或通配符
3. 提交
    该步骤是提交更改信息到本地版本控制中心,代码不会推送到服务器上,
    git commit -a -m "备注"
4. 推送到服务器
    该步骤是推送相关提交内容到服务器,为提交的更改是不会被推送上去的,已提交的且未推送的可以推送
    git push 仓库名称/分支名称
5. 更新项目
    进入项目目录后使用 git pull 命令可以更新当前项目库,用于代码有其它人更新或自己在不同电脑上更新后的更新本地代码
    git pull
6. 查看分支提交记录
    进入项目目录后,切换至目标分支,使用命令 git log 调出提交记录
7. 切换分支
    git checkout

项目自动更新脚本

//PHP版本,接收git webhook请求后写入本地文件,用shell脚本监听文件变化后执行更新操作

shell脚本内容

#/bin/bash
while [ 1 ]
do
        for line in `cat /web/server/json`
        do
                line=$line
                echo >>  /web/server/git.log
#               echo '----------------------------------------------'
                echo `date '+%Y-%m-%d %H:%M:%S'`" $line 处理中..."
                if [ -d /web/$line ];then
#                       echo 指定前边
#                       echo >  /web/www/git/git.log
                        cd /web
                        cd $line
                        git pull
                        if [ -e update.sh ];then
                                chmod +x update.sh
                                nohup ./update.sh &
                        fi
                        echo `date '+%Y-%m-%d %H:%M:%S'`" $line 处理成功..."
                        echo '---------------------------------------------'
                else
                        echo `date '+%Y-%m-%d %H:%M:%S'`" $line 处理失败..."
                        echo '----------------------------------------------'
                fi
                echo > /web/server/json
        done
#       echo $line
        cd /web
        echo > /web/server/json
#       ./clean.sh
        sleep 1
#       echo finish
done

nodejs版本,不含自动升级脚本部分,自动升级脚本部分已去掉 nodejs版本

转载于:https://my.oschina.net/yanpengquan/blog/1542734

你可能感兴趣的:(Git项目管理规范)