$types = @{
    '1' = @('FEA', '新增特性')
    '2' = @('REF', '项目重构')
    '3' = @('FIX', '缺陷修复')
    '4' = @('PER', '性能优化')
    '5' = @('RVT', '还原变更')
    '6' = @('FMT', '格式整理')
    '7' = @('DOC', '文档变更')
    '8' = @('TST', '单元测试')
    '9' = @('BLD', '工程构建')
}
git add ./
$prefix = ''
while ($null -eq $types[$prefix])
{
    $prefix = Read-Host "请选择提交类型`n" $( & { param($i) $i | ForEach-Object { "$_ : $( $types[$_][0] )($( $types[$_][1] ))`n" } } $types.Keys | Sort-Object )
}
git commit -m "[$($types[$prefix][0])] $(($(Read-Host '是否跳过自动构建?(Y/n)') -eq 'n') ? '': '[SKIP CI] ')$(Read-Host '请输入提交消息')"
$branch = $(git branch --show-current)
& './dot.clean.cmd'
git add ./
git commit --amend --no-edit
git pull
git push --set-upstream origin $branch
Start-Process -FilePath "https://github.com/nsnail/NSExt/compare/main...$branch"
Pause