解释为什么我想这样做是复杂的,但我想这样做是使特定的Git仓库用后收到挂钩,执行以下操作:运行git命令后收到钩
- 移到测试目录
- 克隆刚刚更新的项目。
- 签出一个特定的分支。
- 做一些测试
的后收到的代码如下所示(简化):让“回购”是Git仓库的名称,让“TESTDIR”是同级目录的名称,初始为空,并让“dev”作为分支的名称。
cd ../testdir
git clone --local ../repo .
git checkout dev
然而,当脚本代码获取到“混帐结账”,git的响应“:没有一个Git仓库:致命‘’”
我不知道为什么混帐认为“TESTDIR “不是一个混帐存储库。如果我从命令行运行该命令(而不是从post-receive中运行),那么它们可以正常工作。我不知道为什么这种行为会与接收后的行为有所不同。有任何想法吗?
这是我原来的帖子中的一个错字。这不是问题。我克隆到当前目录“testdir”。 –
如果你这样做 cd ../testdir git clone --local ../repo。 (注意“。”) 那么你仍然在testdir中,并且包含存储库的一个克隆。 那么你仍然在同一个目录 –
哎呀,错过了后面的'.'。抱歉! – larsks