0.1.9 • Published 4 years ago

@zooey1184/cgit v0.1.9

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

cgit 集成git命令行

安装

npm i -g @zooey1184/cgit
cnpm i -g @zooey1184/cgit

### 基本用法
```bash
cgit to dev -m "msg" -t s+1

上面的例子表示保存当前分支,信息为msg,切换到dev分支,拉取最新代码,合并,检测有无冲突, 如无提交uat远程分支(如果配置了钩子函数会在对应时期进行钩子函数),并打小版本更新tag, 最后切换会本地分支

ps:如果希望只是保存本地分支并且只切换分支dev 建议使用

cgit checkout dev -m "msg"
# or
cgit to dev -m "msg" -no-mp
# or
git add .
git commit -m "msg"
git checkout dev

参数

参数

-t

cgit to -t ?date|l+1|m+1|s+1 -tag customTag cgit to -t 按配置文件来

-t --tag

如果 命令行 -t -tag branchName 表示使用传入的branchName作为tag

如果你使用cgit to 来运行,您需要一个配置文件来定义那些分支上需要打tag

tag.test

需要匹配的分支 在这个分支才能推送tag到远程

tag.mode

date=>日期式tag version=》版本式tag

tag.type

'YYYY.DD.MM' 日期式tag的一个例子 'YY-MM/dd' YYYY => 4位年 2020 YY 年份后两位 20 MM 2位月份 少于2位补零 06 M 月份 不补零 6 DD 2位日期 少于2位补零 2 D 日期 不补零 02

若原版本号是v1.0.0 l+1 大版本+1 => v2.0.0 m+1 => v1.1.0 s+1 => v1.0.1 s+5 => v1.0.5

tag.use

配置里如果有use(expression|function) 那么他的返回值将作为tag

tag.prefix

prefix 版本号前缀, 默认 v

-b -m

-b 明确表示分支,如果没有会提取命令行的第三个参数,如果没有第三个参数会当成当前分支 -m 提交信息

# 保存信息提交到当前分支
cgit to -m "update"
# 保存信息提交到uat分支
cgit to uat -m "update"
# 保存信息提交到branch分支
cgit to -m "" -b branch

cgit tag

参数 -l

建议推送分支

-l -a

查看全部tag

-l xx

搜索包含xx 的tag

参数 --mode(-M) --type(-T)

mode => date | version 内置的两种版本提交方式 type => 两种提交方式的具体类型

参数 --tag

自定义的tag

参数 -p

推送到远程 或者

cgit tag push -tag helo
cgit tag push -mode date -type YY.MM/DD
cgit tag -l
cgit tag -mode version -type m+1 # 只是创建tag

cgit tag -mode version -type m+1 -m "msg"

cgit checkout xx -m "xxx"

只是保存本地分支信息并切换到xx分支, 若有对应的远程分支,则拉取最新代码

配置文件例子

hook暂时只有merge pull push 对应的before,after阶段

// cgit.config.js
module.exports = {
	hook: {
		beforeMerge: {
			only: ['uat', 'pro'],
			fn: ()=> {
				console.log('hello');
			}
		},
		afterPush: {
			exclude: ['master'],
			fn: ({from, to})=> {
				console.log(from, to);
			}
		},
		beforePull: {
			only: /feature\/.*/,
			fn: (e)=> {
				console.log(e);
			}
		}
	},
	tag: [
		{
			test: /pro\d/, // 匹配的分支名称
			mode: 'l+1', // data 采用日期 | version 采用版本 如1.0.0(大版本.中版本.小版本)
			type: 'MM.dd',
			// YYYY=> 四位数的年,YY=>年份后两位,MM=>两位月份少于两位补零, M,月份不补零,
			// DD日期,补零,D 日期,不补零 不区分大小写,避免误伤,尽量不要把字母作为分隔符
			// l+1大版本+1 | m+1中版本+1 |  s+1 小版本+1 (默认)

			prefix: 'v', // 默认 如果设置了别的值如version 则规则会从头开始version1.0.0
			// use: ()=> { // 如果有use 优先级高于前面
			// 	return 'v1.0.1'
			// }
		}
	]
}
0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.2

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago