首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >post-receive钩子失败“无法在没有工作树的情况下使用”

post-receive钩子失败“无法在没有工作树的情况下使用”
EN

Stack Overflow用户
提问于 2011-10-06 00:54:35
回答 1查看 884关注 0票数 0

我使用这个Git设置来管理一个网站:http://toroid.org/ams/git-website-howto

在我激活post-receive钩子之前,一切都会正常工作。在激活它之前,我可以毫无问题地进行推拉。但是,如果我激活钩子,它会说:

代码语言:javascript
复制
fatal: /usr/bin/git-checkout cannot be used without a working tree.
error: hooks/post-receive exited with error code 1

它仍然可以正常拉取,但不会像预期的那样复制文件(到webroot)。但是post-receive钩子写道:

代码语言:javascript
复制
#!/bin/sh
GIT_WORK_TREE=/home/domains/mydomain/html/ git checkout -f

那么,为什么git会抱怨没有工作树呢?同样的语法也适用于其他网站。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-06 00:57:22

您可能应该使用git archive而不是git checkout来完成您在这里尝试做的事情(使用一个钩子将文件导出到web服务器的文档根目录)。

代码语言:javascript
复制
git archive HEAD | tar -xC /home/domains/mydomain/html/

这样做的一个优点是不会从存储库中导出某些文件(使用.gitattributes导出忽略标志)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7664852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档