我一直在git存储库中使用post-receive脚本,并使用以下命令检出存储库中的所有文件:
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
我想做类似的事情,但只检查已经修改或在推送中添加的文件。一旦文件被检出,后接收脚本将在这些文件上运行一些其他命令并删除末尾的文件,以便该目录为空。
这可能吗?
答案 0 :(得分:5)
您可以使用git diff
为您提供文件列表
git diff --name-only from..to
在一个post-receive钩子里,我想是
git diff --name-only $1..$2
此挂钩在标准输入上接收oldrev
,newrev
和ref