从裸git存储库中的钩子导出文件

jee*_*ger 7 linux git

所以,我的情况如下:我想使用emacs-muse模式维护我的网站.为了转移网站(和版本控制),我想使用git.所以我会在远程(裸)存储库中创建一个钩子,它自动将HTML子目录复制到web目录.我怎么能从钩子那里做到这一点?还要注意整个目录包含很多文件,所以我无法导出整个目录.

欢迎任何帮助.

Pie*_*ter 15

你可以使用git archive,因为它需要一个path命令.因此,在更新后的钩子中你可以做类似的事情

git archive $SHA HTML | (cd dir/where/html/should/go && tar x)
Run Code Online (Sandbox Code Playgroud)

这首先创建了一个tarir的tarball,然后将tar包管道到tar命令以在指定的目录中解压缩它

  • 这很奇怪:你的答案似乎更具体,更符合jeeger的问题,但我的投票更多:+1来解决这个问题;) (4认同)
  • 尝试使用HEAD:HTML代替"HEAD HTML" (3认同)

Von*_*onC 14

(只是一个建议,因为它可能不适用于您的确切配置)

您可能会考虑采用这种以Web为中心的Git工作流,而不是复制,它会直接在Web目录上推送您的存储库.

http://joemaller.com/wordpress/wp-content/uploads/2008/11/hub-prime2.jpg
(来自Joe MALLER)


不太复杂: 使用Git维护您的网站(Daniel MIESSLER):

http://dmiessler.com/wp-content/uploaded_content/2008/12/git-tree.gif

Daniel MIESSLER拥有相同流程的更新版本:

http://danielmiessler.com/wp-content/uploads/2011/07/git_website_1.png

SO问题提供了其他建议,例如Git FAQ中提到的此更新后脚本.

  • 我喜欢你的照片 :-) (2认同)