文档章节

Git项目管理规范

碳素云信息技术
 碳素云信息技术
发布于 2017/09/25 10:50
字数 1320
阅读 121
收藏 0

项目管理规范

目录

  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脚本监听文件变化后执行更新操作
<?php
if(is_dir('/web'.$_GET['s'])){
        $fp = fopen('../json','a+');
        fwrite($fp,substr($_GET['s'],1));
        fwrite($fp,"\n");
        fclose($fp);
}

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版本

© 著作权归作者所有

上一篇: node记事
下一篇: MySql 计划任务
碳素云信息技术

碳素云信息技术

粉丝 14
博文 31
码字总数 11484
作品 0
绵阳
后端工程师
私信 提问
开放持续集成平台--OpenCI

OpenCI 提供项目向导式创建、导入,集成版本控制(GIT/SVN)、项目管理(Trac/Redmine)、代码质量(Sonar)、持续集成(Jenkins)等工具,用于规范化项目管理。 为什么使用OpenCI: 向导式创建、导入...

Koala_考拉
2014/05/04
5.6K
1
要求翻译流行的开源协议

随着oschina提供代码托管服务,相信很多开发者同仁会迫不及待地上传自己的开源项目。建议OSCHINA提供各个主流开原协议的翻译版本,方便国内开发者开发/发布自己的开源软件。了解更多关于开源...

御风林海
2013/05/19
399
5
2015-07-20 灵信LED项目开发阶段总结

灵信LED项目从六月上旬开始,到今天一共一个半月时间,一期功能全部完成,主要功能接口通过测试,发布版本为v0.9。今天的讨论会记录如下: 开发中可以改进的方面: -UI资源提供的不足或不符合...

bappleug
2015/07/20
3
0
python开源项目目录结构参考

每个真正的程序员,可能都会梦想着能够发布开源项目,让自己的代码被别人所用。开源项目会发布到开发的版本管理系统(比如GitHub)上面,为了让大家能够方便使用你的代码,项目的目录结构应该...

索隆
2012/05/29
535
0
开源社会网项目架构设计与实施

【业务需求】 一、需求描述 1、结合既有需求整理规范 2、结合项目需求、技术要求设计与构建开发架构、框架; 3、结合开发实施需求在阿里云服务器完成开发服务器环境搭建、码云Git环境管理; ...

zb1484035363906
2017/03/24
4
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈prototype原型模式

一、原型模式简介 原型(Prototype)模式是一种对象创建型模式,他采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。 原型模式的特点: 1、由原型对...

青衣霓裳
10分钟前
2
0
shell mysql 备份

#!/bin/bash time2=$(date "+%Y-%m-%d-%H:%M:%S") /usr/local/mysql/bin/mysqldump -uroot -p ad > /usr/local/mysql/backup/"$time2".sql 变量引用原来是这么用的。......

奋斗的小牛
17分钟前
3
0
Jmeter监控Linux服务器操作

系统:Win7 64位 工具:Jmeter 4.0 要准备好的插件:JMeterPlugins-Standard-1.4.0,ServerAgent-2.2.1 解压JMeterPlugins-Standard-1.4.0.zip,将其中\lib\ext\JMeterPlugins-Standard.jar......

魔鬼妹子
18分钟前
4
0
系列文章:云原生Kubernetes日志落地方案

在Logging这块做了几年,最近1年来越来越多的同学来咨询如何为Kubernetes构建一个日志系统或者是来求助在这过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是想把我们这些年积累的经...

Mr_zebra
18分钟前
3
0
入门必备!快速学会用Aspose.Words在表格中插入和删除列!

Aspose.Words For .Net(点击下载)是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft W...

mnrssj
23分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部