木灵鱼儿

木灵鱼儿

阅读:585

最后更新:2021/03/29/ 1:26:05

shell脚本 一键git拉取多个项目代码

由于一个项目用到了三个git仓库,然后vscode并不能打开一个目录扫描所有的git仓库,而且多个的时候更加不好判断,哪些文件是哪个仓库的,所以,每次都是每个仓库单独用vscode打开,然后手动拉取,太痛苦了。

当你有3个项目,你就需要拉取9次,而且很多时候是重复,比如一些通用的代码仓库。

但是,目前哪个git管理的软件都好难用啊,所以还是写个脚本好了。

使用前的要求:

由于脚本运行时用的git pull,所以如果你需要拉取项目中某个分支,请预先将项目分支调整好,然后就是git账号了,用户密码,全局用户名邮箱这些,基础操作。

然后就是配置项目路径:

假设我们a目录下有b、c、d三个项目,那么我们脚本就放在a目录下即可。

代码中有一段路径数组,一行为一个项目路径,无需逗号分隔,然后你自己写好路径就行了,

如:

## 需要拉取的项目路径
project_pathArr=(
  "a"
  "b"
  "c"
)

路径开头不需要加/路径符号,我在后面代码自动补充了开头的路径符号。

准备完成后将以下代码复制另存为xxx.sh文件,然后运行即可。

注意:windows的powerShell好像无法直接运行脚本,我都是用git Bash运行的。

## 当前脚本文件所在路径
current_path=$(cd $(dirname $0); pwd)

## 需要拉取的项目路径
project_pathArr=(
  "a"
  "b"
  "c"
)


## 开始拉取
for ((i=0;i<${#project_pathArr[*]};i++))
do
  project_path=${current_path}/${project_pathArr[i]}
  cd $project_path
  git pull
  echo -e "\033[32m拉取项目:${project_pathArr[i]} 成功\033[0m";
done


echo "5秒后将自动退出本脚本:"
for i in $(seq 5 -1 1)
do
  echo -e $i;sleep 1
done 
exit

祝你使用愉快!

效果图

版权申明

本文系作者 @木灵鱼儿 原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

关于作者

站点职位 博主
获得点赞 0
文章被阅读 585

相关文章

目录树