原理
首先有一个clone好的git项目
创建一个批量执行git命令的shell脚本
在crontab定时任务中添加定时任务执行此脚本
shell脚本
vim /home/crontab/pull.sh
内容:
#!/bin/sh export.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