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

如何用Git提取分支/提交间变更文件生成FTP上传目录?

如何通过Git提取变更文件并按原结构打包以便FTP上传?

完全可以做到!针对你这种WordPress插件项目需要FTP增量上传的场景,Git有现成的方法帮你提取变更文件,不用再手动整理一堆文件了。

第一步:获取变更文件的路径列表

先不用直接生成diff文本,而是用git diff的参数只输出变更文件的路径:

# 获取两个分支之间所有变更(新增、修改、删除)的文件路径
git diff --name-only branch1..branch2

# 如果只想保留新增和修改的文件(适合FTP上传,删除文件可后续手动处理)
git diff --name-only --diff-filter=AM branch1..branch2

这里的--diff-filter参数可以按需调整:A代表新增文件,M代表修改文件,D代表删除文件,你可以组合使用(比如AD就是新增和删除)。

第二步:按原目录结构复制文件到目标文件夹

拿到文件列表后,用xargs配合cp命令批量复制,关键是加上--parents参数来保留原目录结构:

git diff --name-only --diff-filter=AM branch1..branch2 | xargs -I {} cp --parents {} /path/to/your/upload-folder

执行完这个命令后,/path/to/your/upload-folder里就会保留和项目完全一致的目录结构,只包含你需要上传的变更文件,直接FTP上传这个文件夹里的内容就行。

注意:如果是Windows环境,建议用Git Bash或者WSL来执行这些命令;如果用PowerShell,可能需要调整命令逻辑,比如用Copy-Item代替cp,并处理路径格式。

另外,我基于这个思路写了一个命令行工具,能自动读取Git diff结果并生成包含对应文件的文件夹,适合需要重复执行增量打包的场景,用起来更省心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 17:17:44