所以,我的情况如下:我想使用emacs-muse模式维护我的网站。为了转移网站(和版本控制),我想使用git。所以我会在远程(裸)存储库中创建一个钩子,它自动将HTML子目录复制到web目录。我怎么能从钩子那里做到这一点?另请注意,整个目录包含批次的文件,因此无法导出整个目录。
欢迎任何帮助。
答案 0 :(得分:15)
你可以使用git archive,因为它需要一个path命令。因此,在您的更新后挂钩中,您可以执行类似
的操作git archive $SHA HTML | (cd dir/where/html/should/go && tar x)
这首先创建了一个子网站的tarball,并将tarball管道到tar命令以在指定目录中解压缩它
答案 1 :(得分:14)
(只是一个建议,因为它可能不适用于您的确切配置)
您可以考虑采用这个Web-Focused Git Workflow,而不是复制,直接将您的仓库推送到网络目录。
(来自Joe MALLER)
不太复杂:Using Git to maintain your website(Daniel MIESSLER):
Daniel MIESSLER有updated version相同的过程:
此SO question提供了其他建议,例如post-update script中提及的Git FAQ。