在进行组件化开发的过程中,组件开发过程通常会伴随着bug修复,功能完善等等原因出现了很多的小版本,当组建功能完善稳定后,这些小版本的作用就显得不那么大了,而且随着不断的开发迭代,我们组件的小版本会越来越多,给我们对版本的判断,识别带来不必要的麻烦。为了解决这个问题,我写了一个shell脚本来解决这个问题。具体代码如下:
echo "请输入要删除的pod库版本号:"
#获取终端输入的版本号
read version
#正则表达式获取项目名字
PROJECT_NAME=${PWD##*/}
echo "请确认是否要删除pod库 $PROJECT_NAME 的 $version 版本 1 or 0"
read agreeMent
#用户确认是否删除某个版本的配置,1代表同意;0代表不同意
if [[ agreeMent==1 ]]; then
currentPath=$(cd `dirname $0`; pwd)
echo $currentPath
substr=${currentPath#*/*/}
#获取电脑用户名
userName=${substr%%/*}
#拼接索引仓库的路径,我这边索引仓库的名字是jack-ios-spec
path="/Users/$userName/.cocoapods/repos/jack-ios-spec/"
echo "- - - - - - - - - 跳转到路径:$path - - - - - - - - - "
cd $path
#跳转到对应的目录下
cd $PROJECT_NAME
#删除相应的文件夹以及文件夹下的podspec文件
rm -r $version
#跳转回索引仓库目录
cd $path
#执行相关的git操作
git add .
git commit -m "删除pod库 $PROJECT_NAME $version 的目录索引"
git push
echo " - - - - - - - - - - 删除tag - - - - - - - - - - "
#跳转回项目所在目录
cd $currentPath
git tag -d $version
git push origin :$version
fi
注:该脚本文件应该放在和project同级的目录下
这个只是自己在开发中的一些总结,如果大家还有更好的方案,欢迎加入讨论组,多多交流哦
QQ扫描下方二维码即可入群
另外感觉大家在博客上看东西不太方便交流,我最近新注册了一个微信公众号,大家可以微信扫一扫关注一下我哦