0.3.95 • Published 3 years ago
ppgit v0.3.95
背景
- 七鱼 Git 分支模型规范
- 业务组件库版本控制规范
- 子仓库:一个Git仓库下面放了一个或多个多个其他Git仓库,存放各组之间需要复用的代码
- 其他开发中的痛点:
- 开发项目A时,发现项目B有线上bug,需要新建vscode窗口,再去搜索项目B的路径
- 想打开项目的GitLab页面,要在浏览器搜索GitLab,再搜索项目名称
- 一个版本需求中涉及的项目和分支过多时,上线时怕项目和分支有遗漏
- 第一次clone下来的七鱼项目,要去nei查nei-key,再执行一堆命令,开发环境才能跑起来;想要在浏览器看到页面,还要在浏览器输入url
- 容易忽略的git操作,比如:
- 新建子仓库版本分支后,没有merge origin/online
- 执行git push前没有执行git pull --rebase
- 远端没有对应的分支,直接在本地执行了git push
- 执行git checkout -b xxx 前没有执行 git pull
期望达到的目标
- 落实主项目和子模块分支命名规范和版本控制流程
- 主项目和子模块切换分支、提交改动、丢弃改动等行为的同步,减少主项目文件夹和子模块文件夹的频繁切换,避免主项目和子模块匹配错乱
- 开发中常用命令集合的一键执行
开始
- 确保git版本为2.x,且提示语言为英文
- 终端执行 npm install -g ppgit
执行ppgit config编辑并保存配置文件,本地配置文件列出的属性会覆盖默认配置文件对应的属性,格式如下:
{ "programs": { "/ysf/web-project/web-callcenter":{ "description": "七鱼-呼叫系统", "nei": [ { "name": "管理端", "key": "c413102d5ee5978b48a4c01e0590faed" } ], "defaultPage":"/callcenter/page/dashboard/keynotes", "exam": true, // 是否在提交时进行eslint校验 "devCommand":"dev", // 项目开发环境执行命令 "skip":[ "source/lib/tools/recorder/recorder.json", "source/lib/tools/recorder/nameUrlMap.json" ] }, }, "common":{ "gitDomain":"g.hz.netease.com", // gitLab域名 // 配置私有化项目存放的子文件夹 "subWorkSpace":{ "/privatisation/kuaishou":"/kuaishou", "/privatisation/yumchina":"/baisheng", "/privatisation/ruqi": "/ruqi" } }, "user":{ "name": "你的名字", "group": "小组缩写,如:ai、cc、hb、chat", "localhost":"本地配置hosts,如:xy.qytest.netease.com", "workSpace": "本地工作文件夹绝对路径,如:/Users/xiayang/Workspace/netease", } }
在.bash_profile中给ppgit配置别名以方便使用(可选)
命令
项目开发
- ppgit start 运行开发环境,包括下载nei配置、启动性项目、启动nei、在浏览器中打开页面
- ppgit proxy <keyword> 设置开发环境服务代理
- ppgit open <keyword> vscode打开其他项目
- ppgit manage add | remove | show 管理版本需要上线的项目和开发分支
- add 将当前分支添加到版本需要上线的分支中
- remove 将当前分支从版本需要上线的分支中移除
- show 列出版本需要上线的项目和开发分支
git快捷命令
- ppgit clone <git-path> 克隆项目和子模块,并安装依赖的npm包(在任意文件夹下执行该命令都会在工作文件夹下克隆项目)
- ppgit info 展示主项目和子模块当前分支信息
- ppgit version <version-number> 创建或切换到version分支,并创建或切换到对应的子模块分支
- ppgit story <story-name> 创建或切换到story分支,并创建或切换到对应的子模块分支
- ppgit hotfix <jira-number> 创建或切换到hotfix分支,并创建或切换到对应的子模块分支
- ppgit feature <feature-name> 创建或切换到feature分支,并创建或切换到对应的子模块分支
- ppgit submodule 给当前分支添加子模块分支
- ppgit switch <branch-name> 切换到其他分支,同时子仓库切换到对应的分支或提交
- ppgit commit <commit-message> 提交分支改动
- 支持提交子仓库分支
- ppgit push 将当前分支推送到远端
- ppgit page 打开当前分支的GitLab页面
- ppgit discard 丢弃当前分支上的改动
- 支持丢弃子模块当前分支上的改动
- ppgit merge branch-name 合并其他分支到当前分支
- ppgit forward branch-name 合并当前分支到其他分支
- ppgit revert commit-message-keyword 撤回某次提交
- ppgit rename branch-new-name 重命名分支
- 支持同时重命名本地和远端分支
- 支持重命名子仓库的本地和远端分支
- ppgit delete branch-name 删除分支
- 支持同时删除本地和远端分支
- 支持删除子仓库的本地和远端分支
- ppgit finish <version-number> 完成版本上线,删除所有对应的版本分支
- ppgit ignore 使.gitignore配置立刻生效
ppgit <command> 执行git命令,相当于git <command>
其他
- ppgit config 配置ppgit
- ppgit edition 获取ppgit版本信息
- ppgit feedback 反馈问题
- ppgit -h 查看帮助文档
TODO
- 长期
- vscode插件
- 中期
- 实现钩子
- 近期
- 补全项目配置
- readme补全流程图
- 兼容windows
- 借鉴 gitless
0.3.95
3 years ago
0.3.94
3 years ago
0.3.93
3 years ago
0.3.92
3 years ago
0.3.9
3 years ago
0.3.91
3 years ago
0.3.6
3 years ago
0.3.5
3 years ago
0.3.8
3 years ago
0.3.7
3 years ago
0.3.4
3 years ago
0.3.2
3 years ago
0.3.3
3 years ago
0.3.1
3 years ago
0.3.0
3 years ago
0.2.9
3 years ago
0.2.8
3 years ago
0.2.7
3 years ago
0.2.6
3 years ago
0.2.5
3 years ago
0.2.4
3 years ago
0.2.3
3 years ago
0.2.1
3 years ago
0.2.2
3 years ago
0.2.0
3 years ago
0.1.8
3 years ago
0.1.7
3 years ago
0.1.9
3 years ago
0.1.6
3 years ago
0.1.5
3 years ago
0.1.4
3 years ago
0.1.3
3 years ago
0.1.2
3 years ago
0.1.1
3 years ago
0.1.0
3 years ago
0.0.9
3 years ago
0.0.8
3 years ago
0.0.7
3 years ago
0.0.6
3 years ago
0.0.5
3 years ago
0.0.4
3 years ago
0.0.3
3 years ago
0.0.2
3 years ago
0.0.1
3 years ago