给你一个git自动操作脚本(切换分支,更新,是否有新文件)

本文介绍了一个名为update.sh的Git自动化脚本,该脚本用于切换到指定的Git分支(如master),执行更新,并检查是否有新内容。通过运行这个脚本,可以简化日常的Git操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把以下代码保存为update.sh,然后要改些东西我简单标注下,不懂也没关系,反正你也不会问的得意,问我就告诉你,用法是这样的

sh update.sh -c -p -g master

作用是将指定的库切换(-c)到指定分支(master),并更新(-p),检查是否有新内容(-g)



#/bin/bash



work_path="/Users/local/Broken";    :修改标红为本地工程绝对路径'


git_checkout()
{
if [ $2x = x ]; then
echo "Switch to Witch Brnach?";
exit 1;
fi
cd $work_path/$1;
git checkout $2
if [ "$?" = "0" ]; then
echo -e "Git Checkout $2 \033[32m SUCCESS \033[0m";
else
echo -e "Git Checkout $2 \033[31m Failed \033[0m";
fi
}


git_pull()
{
if [ $2x = x ]; then
echo "Pull Witch Brnach?";
exit 1;
fi


cd $work_path/$1;
cur_branch=`git branch | grep "*" | awk {'print $2'}`;
if [ "$cur_branch" = "$2" ]; then
git pull origin $2:$2 -q
if [ "$?" = "0" ]; then
echo -e  "Git Pull $1 on $2: \033[32m SUCCESS \033[0m";
else
echo -e "Git Pull $1 on $2: \033[31m FAILED \033[0m";
fi
git log -n 1
else
echo "Check To Branch $2 first, Current is $cur_branch";
exit 1;
fi


}


usage()
{
echo "Usage ./update_service.sh [-cpg] [branch name]";
}


echo "Current Work Path:$work_path"


if [ $# -lt 1 ]; then
usage;
exit -1;
fi


while getopts "c:p:g" arg
do
case $arg in 
c)
git_checkout code $OPTARG;    :修改标红文件夹名字'
git_checkout conf $OPTARG;
git_checkout common $OPTARG;
;;
p)
git_pull code $OPTARG    :修改标红文件夹名字'
git_pull common $OPTARG
git_pull conf $OPTARG
;;
g)
cd $work_path


if [ -f tags ]; then
echo "delete old tag file";
rm tags;
fi
echo "generate new tag file";
;;
?)
usage;
;;
esac
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值