【shell脚本】闲来无事,一边查一边写,更新工作空间下所有git项目
公司微服务项目分部不较多,本人又比较懒,项目多了每次拉取浪费很多时间,每天下班前运行一下,不耽误第二天工作,搞了个脚本方便自己,也提供给有需求的同学参考一下。
#!/bin/bash
#设置项目目录的父目录位当前目录,如果放在工作空间也可以不用
project_directory=$PWD
echo "工作目录:$project_directory"
#检查项目是否存在
if [ ! -d "$project_directory"];
then
echo "项目目录不存在:$project_directory"
exit 1
fi
#进入目录
cd "$project_directory"
#获取目录列表
project_dirs=$(ls -d */)
#遍历项目目录并执行git pull
for project_dir in $project_dirs;
do
echo "进入 $project_dir"
cd "$project_dir"
# 如果是git项目,则拉取
if test -d .git;
then
echo "开始更新: $project_dir"
# 获取本地所有分支,也可以回去远程所有分支,根据跟人需求,基本用不到
branches=$(git branch --list | cut -c 3-)
# 遍历每个分支代码并拉取
for branch in $branches
do
# 切换分支
git checkout $branch
echo "当前分支: $branch"
# 拉取代码
git pull origin $branch
done
else
echo "$project_dir 不是一个git仓库,跳过更新"
fi
# 获取当前所在文件夹名称
current_folder=$(basename "$(pwd)")
echo "当前工程: $current_folder"
# 判断当前文件文件夹是否为需要切换分支的项目,方便每次打开的时候在工作分支
if [ "$current_folder" = "project_1" ] || [ "$current_folder" = "project_2" ] ;
then
git checkout 0.0.1-dev;
echo "当前工程:$project_dir 切换0.0.1-dev分支"
# 如果需要打开即用,可以打开注释,现实更新代码并编译
# mvn clean compile package -Dmaven.test.skip=true
elif [ "$current_folder" = "project_3" ];
then
git checkout dev_test;
echo "当前工程:$project_dir dev_test"
# mvn clean compile package -Dmaven.test.skip=true
elif [ "$current_folder" = "project_4" ];
then
git checkout 0.0.5-dev;
echo "当前工程:$project_dir 切换0.0.5-dev分支"
# mvn clean compile package -Dmaven.test.skip=true
else
echo "非指定工程,拉取后不切换分支"
fi
cd ..
done
echo "======================================\n"
echo "所有项目更新完毕,哈哈哈哈哈哈哈哈哈哈...\n\n"
# 获取当前日
day=$(date +%d)
# echo "当前日: $day"
echo "我有一句话不知当讲不当讲\n不论你怎么想我都要说\n"
# 根据当前日最后打印一句语录,当做娱乐,如果愿意可以外挂文件获取或者其他方式,自己拓展玩
case $day in
1) echo "每天给自己一个微笑,生活便会回你一个温暖的拥抱";;
2) echo "成长就是,从前我难过的时候,油盐不进,茶饭不思,现在能一边流泪一边去厨房给自己下碗面,还不忘加俩荷包蛋";;
3) echo "要明白被别人拉起来,和自己站起来是两回事";;
4) echo "发自己的光就好,不要吹灭别人的灯";;
5) echo "能说服一个人的,从来不是道理,而是南墙;能点醒一个人的,从来不是说教,而是磨难";;
6) echo "你吃土的时候,没人问你苦不苦;你吃肉的时候,总会有人问你香不香";;
7) echo "物极必反,困则思变";;
8) echo "等风来不如追风去,追逐的过程就是人生的意义";;
9) echo "放弃不难,但坚持一定很酷";;
10) echo "拥抱孤独之后,时间会让你发现自己的力量无穷";;
11) echo "你要相信自己背后的疼痛是为了长出翅膀";;
12) echo "不管昨夜你是多么泣不成声,早晨醒来城市依旧车水马龙";;
13) echo "万物皆有裂缝,那是光进来的地方";;
14) echo "只要小伙精神在,到哪都是高富帅";;
15) echo "抽烟只抽红塔山,这个小伙不简单";;
16) echo "我的草原我的马,我想咋耍就咋耍";;
17) echo "明知山有虎,不上明知山";;
18) echo "不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景就已经和从前不一样了";;
19) echo "先讲语录后搬砖,精神小伙不一般";;
20) echo "生活皆成长,成长即人生";;
21) echo "社会没有参天树,只有金钱降万物";;
22) echo "自古真情留不住,唯有发财靠得住";;
23) echo "是狼到哪里都吃肉,是犊子到哪里都挨揍";;
24) echo "想 全是问题 做 全是答案";;
25) echo "所遇之事不管好坏,必将有益于我";;
26) echo "所谓门槛,能力够了就是门,能力不够就是槛";;
27) echo "三更梦醒,你是檐上落下的星";;
28) echo "世行无难事,只要肯攀登";;
29) echo "宝剑锋从磨砺出,梅花香自苦寒来";;
30) echo "不要着急,最好的总会在不经意的时候出现";;
31) echo "积极思考、积极行动,成功将随之而来";;
esac
#如果有需要执行完成可以自己关机,加上命令的事情
#shutdown -h now