Linux使用bash管理git

bash管理git gitee更新 bash自动拉取 Linux管理gitee

每次gitee更新数据的时候,默认的文件和文件夹的权限会导致网站无法访问,所以单独写了2个bash文件来执行拉取和更新的操作。

bash写好后,放到/usr/local/bin目录下,这样在服务器任何位置都可以直接执行,拉取的bash把gitee的仓库地址当参数传入,执行拉取后,修改文件夹和文件的权限,bash如下:

#!/bin/bash

# 判断是否传递了仓库地址参数

if [ -z "$1" ]; then

  echo "请提供 Git 仓库地址作为参数"

  exit 1

fi

# 克隆仓库

cd /home/gitee/

git clone $1

# 获取仓库名(去掉路径部分)

REPO_NAME=$(basename $1 .git)

# 进入仓库目录

cd $REPO_NAME

# 设置目录权限为 755,文件权限为 644

find . -type d -exec chmod 755 {} \;

find . -type f -exec chmod 644 {} \;

echo "完成仓库克隆并设置权限!"


保存为giteeclone后,在任何目录即可执行:giteeclone 仓库地址就可以了。

39/f1d8ae88f4684efcf1bb8555682214.png


然后再写一个gitee更新的bash:

#!/bin/bash

# 判断是否传递了目录地址参数

if [ -z "$1" ]; then

  echo "请提供根目录地址作为参数"

  exit 1

fi

TARGET_DIR="/home/gitee/$1"

if [ -d "$TARGET_DIR" ]; then

  cd $TARGET_DIR

  git pull

  # 设置目录权限为 755,文件权限为 644

  find . -type d -exec chmod 755 {} \;

  find . -type f -exec chmod 644 {} \;

  chmod -R 777 runtime

  chmod -R 777 public/uploads

  chmod -R 777 uploads

  echo "仓库更新并权限设置完成!"

fi

这个bash是执行git pull命令,同时把对应的文件夹和文件再次执行一下权限更新,执行方式为:giteepull  本地git目录

61/92435f7eb7acbabad5be9679245efe.png

这样每次更新完后就不用考虑权限问题了。



网站公告

承接各种网站、小程序、H5、公众号、CMS、CRM、OA等系统开发、维护、托管、外包等服务! 邮箱: 3163316168@qq.com