随机commit次数以及commit回滚

This commit is contained in:
OBKoro1 2020-01-07 22:34:31 +08:00
parent 8bf8eb9b92
commit 551562c9ff
4 changed files with 77 additions and 9 deletions

View File

@ -6,6 +6,12 @@
<!-- TODO: npm包形式 -->
<!-- webview 的icon -->
<!-- TODO: 支持谷歌插件 -->
<!-- TODO: html的链接 -->
<!-- TODO: commit的颜色 -->
### [V1.0.0]
- Initial release

View File

@ -2,6 +2,4 @@
# 用于学习交流
<!-- TODO: html的链接 -->
<!-- TODO: commit的颜色 -->

View File

@ -2,7 +2,7 @@
* Author : OBKoro1
* Date : 2019-12-30 16:59:30
* LastEditors : OBKoro1
* LastEditTime : 2020-01-04 15:14:39
* LastEditTime : 2020-01-07 22:30:03
* FilePath : /autoCommit/src/models/commitHandle.ts
* Description : commit
* https://github.com/OBKoro1
@ -91,6 +91,10 @@ class CommitHandle {
if (this.cancelCommit()) break;
// 每个日期commit次数
let dayCommitNumber = this.paramsObj.commitNumber;
if (this.paramsObj.randomCommit) {
// 随机commit次数
dayCommitNumber = RandomNumber(1, this.paramsObj.commitNumber);
}
if (item.commitNumber !== 0) {
// 如果该范围有commit次数 则用该范围的
dayCommitNumber = item.commitNumber;
@ -137,12 +141,43 @@ class CommitHandle {
}, 1000);
});
}
await outputLog(`${totalNum + 1}commit内容`, commitContent);
await outputLog(`${totalNum + 1}commit信息`, commitMsg);
outputLog(`${totalNum + 1}commit内容`, commitContent);
outputLog(`${totalNum + 1}commit信息`, commitMsg);
totalNum++;
}
}
this.myExecSync(`cd ${this.paramsObj.itemSrc} && git pull && git push`)
if (this.cancelCommit()) {
if (totalNum < 1) return;
outputLog('回滚中...');
const res = await new Promise((resolve, reject) => {
let cmd = `cd ${this.paramsObj.itemSrc} && git reset --hard HEAD~${totalNum}`;
exec(cmd, (error, stdout, stderr) => {
if (error) {
outputLog(`执行命令出错:${cmd}`);
outputLog(`回滚失败:${error}`, stderr);
reject(error);
return;
}
outputLog('回滚成功:', stdout);
resolve(stdout);
});
});
} else {
outputLog('提交中...');
const res = await new Promise((resolve, reject) => {
let cmd = `cd ${this.paramsObj.itemSrc} && git pull && git push`;
exec(cmd, (error, stdout, stderr) => {
if (error) {
outputLog(`执行命令出错:${cmd}`);
outputLog(`错误信息:${error}`, stderr);
reject(error);
return;
}
resolve(stdout);
});
});
outputLog('提交信息:', res);
}
this.commitEnd(totalNum);
}
commitEnd(totalNum: number) {

View File

@ -44,12 +44,33 @@
</el-input>
</el-form-item>
<el-form-item class="form_item" prop="commitNumber">
<label slot="label">
<el-tooltip class="item" content="时间范围内默认每个日期是否随机commit" placement="top-start">
<span>是否随机commit :</span>
</el-tooltip>
</label>
<el-switch
@change="switchChange"
v-model="form.randomCommit"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
</el-form-item>
<el-form-item class="form_item" prop="commitNumber" v-if="form.randomCommit">
<label slot="label">
<el-tooltip class="item" :content="`时间范围内默认每个日期随机commit 1次~${form.commitNumber}次`" placement="top-start">
<span>随机commit次数 :</span>
</el-tooltip>
</label>
<el-input-number v-model="form.commitNumber" :step="1" :min="2" :max="20" size="large"></el-input-number>
</el-form-item>
<el-form-item class="form_item" prop="commitNumber" v-else>
<label slot="label">
<el-tooltip class="item" content="时间范围内默认每个日期需要commit的次数" placement="top-start">
<span>默认commit次数 :</span>
</el-tooltip>
</label>
<el-input-number v-model="form.commitNumber" :step="1" :min="1" :max="100" size="large"></el-input-number>
<el-input-number v-model="form.commitNumber" :step="1" :min="1" :max="20" size="large"></el-input-number>
</el-form-item>
<el-form-item v-for="(ele, index) in form.timeArr" :key="index" :prop="'timeArr.' + index + '.value'" :rules="{
required: true, message: '日期不能为空', trigger: 'blur'
@ -69,7 +90,7 @@
<span>该范围每天提交次数{{index+1}} :</span>
</el-tooltip>
</label>
<el-input-number v-model="ele.commitNumber" :step="1" :min="0" :max="100" ></el-input-number>
<el-input-number v-model="ele.commitNumber" :step="1" :min="0" :max="30" ></el-input-number>
<el-button @click.prevent="removeTime(index)" :disabled="form.timeArr.length === 1">删除</el-button>
</el-form-item>
<el-form-item>
@ -156,6 +177,7 @@
form: {
// TODO: 保存其他几个参数
// itemSrc: '/Users/koro/work/web_my/testCommit',
randomCommit: true,
itemSrc: '点击选择要commit的项目文件夹',
fileName: 'commit.md',
commitMsg: 'autoCommit',
@ -165,7 +187,7 @@
commitNumber: 0
}
],
commitNumber: 1,
commitNumber: 10,
},
rules: {
'itemSrc': [
@ -326,6 +348,13 @@
commitNumber: 0
});
},
switchChange(value){
if(value){
this.form.commitNumber = 10;
}else{
this.form.commitNumber = 1;
}
},
fileNameChange(value) {
if (value === '') {
this.form.fileName = 'commit.md'