本地文件自动提交到仓库

背景 将本地目录做一个存储仓库,将归档的文件放入其中。自动同步到远程仓库。

仓库配置 省略

配置密钥 用户可以 git pull \ git push \ git commit

自动 拉取、更新 脚本

文件名:autosave.sh


#!/bin/zsh

# 设置变量
LOCAL_DIR=$1

# 进入工作目录
cd "$LOCAL_DIR" || { echo "无法进入目录 $LOCAL_DIR"; exit 1; }

# 拉取代码
pvsh() { git rev-parse --abbrev-ref HEAD | xargs -I {} git push origin '{}'; };
# 推送代码
pvll() { git rev-parse --abbrev-ref HEAD | xargs -I {} git pull origin '{}'; };
# 强制拉取代码
pxsh() { git rev-parse --abbrev-ref HEAD | xargs -I {} git push origin --force '{}'; };
# 强制推送代码
pxll() { git rev-parse --abbrev-ref HEAD | xargs -I {} git pull origin --force '{}'; };

commit() { git log -1 --pretty=format:'%B' | git commit -a -F -;  };


if [ "$(git status --short | awk '{print $2}' | wc -l)" -gt 0 ]; then
    ## 当前目录下有新的文件 或者 有文件更新
    git add .
    commit;
    pvll;
    if [ $? -ne 0 ] ; then
        ## mac OS 系统中调用一个弹窗 弹出脚本异常,用户需要主动修改
        osascript -e 'tell application "System Events" to display dialog "脚本异常!" buttons {"确定"} default button 1'
    fi
    pvsh;
    if [ $? -ne 0 ] ; then
        ## mac OS 系统中调用一个弹窗 弹出脚本异常,用户需要主动修改
        osascript -e 'tell application "System Events" to display dialog "脚本异常!" buttons {"确定"} default button 1'
    fi
else
    ## 当前目录没有更新则直接拉取
    pvll;
fi

定时任务

文件名:com.rc.autosave.plist


DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Labelkey>
    <string>com.rc.autosavestring>

    <key>ProgramArgumentskey>
    <array>
        <string>/bin/zshstring>
        <string>/Users/rc/Code/markdown/autosave.shstring>
        <string>/Users/rc/Code/markdown/string>
    array>

    <key>StartIntervalkey>
    <integer>300integer> 

    <key>RunAtLoadkey>
    <true/> 

    <key>StandardOutPathkey>
    <string>/tmp/autosave.logstring>

    <key>StandardErrorPathkey>
    <string>/tmp/autosave_error.logstring>
dict>
plist>

Mac os 配置任务

launchctl load ./com.rc.autosave.plist # 载入配置文件

launchctl list | grep autosave # 查看自动化配置

Linux 配置任务

  • crontab -e
  • */5 * * * * /Users/rc/Code/markdown/autosave.sh

原文档地址: Issues/51

你可能感兴趣的:(gitee,服务端,前端)