原理

  1. 首先有一个clone好的git项目

  2. 创建一个批量执行git命令的shell脚本

  3. 在crontab定时任务中添加定时任务执行此脚本

 

shell脚本

1
vim /home/crontab/pull.sh

 

内容:

1
2
3
4
5
6
#!/bin/sh
export.UTF-8
cd /path/to/your_obj
unset GIT_DIR
git stash
git pull origin develop

说明:

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

 

注意:

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

1
2
cd /home/crontab/
./pull.sh

 

添加定时任务crontab

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

 

添加:

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