You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Git Hook实现推送远程仓库时自动拉取代码至OneDrive文件夹

解决方案:用Git post-push钩子实现push后自动同步OneDrive仓库

刚好你的需求可以通过Git的客户端钩子完美解决,我来一步步帮你搞定:

1. 选对钩子:用post-push而不是post-receive

你提到的post-receive是服务器端钩子,只有Git仓库的管理员才能配置(比如GitHub官方),咱们普通用户用不了。而你需要的是在本地执行git push之后触发操作,所以要用post-push——这是Git专门为客户端push完成后准备的钩子。

2. 创建post-push钩子文件

打开你平时写代码、执行git push的那个本地仓库的.git/hooks文件夹,里面默认只有带.sample后缀的示例文件。你需要:

  • 新建一个无后缀的文件,命名为post-push;或者复制一个现有示例(比如post-update.sample),删掉.sample后缀并清空内容。

3. 编写同步脚本

把你需要的同步命令写入这个post-push文件,根据你的场景,用Windows批处理语法最直接:

@echo off
cd "D:/Ewan/OneDrive/MyFolder"
git pull origin <my-branch>

小提示:如果OneDrive里的仓库还没关联GitHub远程,你可以先在OneDrive文件夹里执行git remote add origin <你的GitHub仓库URL>,之后直接git pull就不用写仓库地址了;如果不想关联,也可以写成git pull <你的GitHub仓库URL> <my-branch>。

4. 确保脚本能正常运行

Windows下一般不需要额外设置权限,但如果钩子没生效,可以:

  • 检查文件名是否正确(必须是post-push,不能加.bat或其他后缀)
  • 手动在命令行里跑一遍脚本里的命令,确认路径和Git命令都能正常执行
  • 右键post-push文件→属性→安全,确保当前用户有读取和执行权限

测试一下

写完后执行一次git push,去OneDrive的MyFolder里看看代码是不是自动更新了。如果有报错,直接看命令行输出的提示就能定位问题啦。

内容的提问来源于stack exchange,提问作者Xeway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 12:22:36