首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取“致命:不是git存储库:‘’”当使用更新后钩子对另一个存储库执行'git pull‘时

获取“致命:不是git存储库:‘’”当使用更新后钩子对另一个存储库执行'git pull‘时
EN

Stack Overflow用户
提问于 2010-10-28 22:00:42
回答 5查看 23K关注 0票数 94

我是git的新手,所以如果我在这里错误地使用了术语,我道歉(并请纠正我),但我会尽我所能。

我正在尝试在一台web服务器上设置一个空的git repo (中心)和一个开发站点的工作副本(prime)。我试着模仿this article来设计它。我希望每当中心存储库被推送到时,开发工作副本都要更新。我的印象是,正确的钩子是post-update,我是这样创建的:

代码语言:javascript
运行
复制
#!/bin/sh
whoami
cd /path/to/working-copy/
RET=`git pull`
echo $RET

更新

当我将更改从本地存储库推送到空集线器时,我从更新后脚本获得以下输出:

代码语言:javascript
运行
复制
remote: sites
remote: fatal: Not a git repository: '.'

但是,如果我以用户‘站点’的身份通过SSH登录到服务器并手动执行此脚本,那么这个钩子或脚本可能出了什么问题呢?

EN

Stack Overflow用户

发布于 2014-09-25 07:22:32

在我的例子中,我指定了一个工作树,这会中断一些命令,比如pull (或者更准确地说,是fetch)。

要取消设置工作树(如果它在您的git配置中),请通过:

代码语言:javascript
运行
复制
git config --unset core.worktree

(还有其他方法可以设置工作树)

值得注意的是,

这几乎不会改变你的问题,除非你自己首先使用自定义工作树在你周围挖了这个洞。

笑话:

这对我来说意味着git内部在某些情况下使用相对于工作树+ .git/的路径。根据我的经验,除了git最基本的部分之外,工作树并没有得到很好的支持。我还没有进行彻底的实验,如果我正确地设置了Git directory config变量,git可能会运行,但我还没有尝试过。

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4043609

复制
相关文章

相似问题

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