原理

  • 首先有一个clone好的git项目
  • 创建一个批量执行git命令的shell脚本
  • 在crontab定时任务中添加定时任务执行此脚本

shell脚本

vim /home/crontab/pull.sh

内容:

#!/bin/sh
export LANG=zh_CN.UTF-8
cd /path/to/your_obj
unset GIT_DIR
git stash
git pull origin develop

说明:

cd /path/to/your_obj    // 进入你的项目目录
unset GIT_DIR   //这个是关键!!!取消GIT_DIR这个变量,否则cd的路径将不能按预期工作。
git stash   // 将未提交的变化移除,如果此次拉取有冲突,这次定时任务会失败,下一次执行会执行这个命令,就会成功了。
git pull origin develop // 将远程origin的develop分支最新状态拉取到本地当前分支。

注意:

编辑好shell脚本,先手动运行测试能不能运行,保证直接手动运行可以再加入定时任务。

cd /home/crontab/
./pull.sh

添加定时任务crontab

crontab -l  // 查看当前用户定时任务
crontab -e  // 编辑当前用户定时任务

添加:

// 每一分钟执行一次同步
*/1 * * * * /home/crontab/pull.sh

标签: Git

添加新评论


手机号仅后台超管可见,普通注册用户以及网站前台全站不可见,请勿担心泄露风险!