2013-05-28 30 views
2

我有一个存储库,我用git version 1.7.12创建。如何将预推git钩子添加到现有存储库?

但是,我已更新至version 1.8.2.3。这有钩预先推。使用此版本的新创建的存储库使用预推钩。然而,当我预推添加到现有的回购协议,我得到以下error

fatal: cannot exec '.git/hooks/pre-push': Not a directory 

任何帮助吗?

谢谢!

+0

我刚做了一个新的版本库,'pre-push.sample'文件没有执行权限。也许这是什么让你? –

+0

谢谢!我将如何解决这个问题? @CarlNorum – VarunMurali

+0

我只是做了一些更多的测试,这很可能是你得到的。现在写一个答案。 –

回答

3

我刚刚做了一个全新的存储库,并且pre-push.sample就在那里,就像你说的那样。由于某种原因,它没有设置执行权限,因此在重命名为pre-push时不起作用。如果您添加执行权限:

chmod +x .git/hooks/pre-push 

您应该没问题。提供的示例也有一个bash,如果/然后bug。

# Handle delete 

到:从变化的线路32

: # Handle delete 

固定对我来说。

+0

是的,它适用于全新的知识库。但我的问题是,你如何添加一个pre-push hook到由旧的git版本构成的现有仓库。当我创建文件并运行'chmod'命令时,它不起作用。它给了我上面的错误。 – VarunMurali

+0

嗯,我在这里试过,它似乎工作正常。不过,我有1.8.3。也许这是来自你的脚本的消息,而不是从git?你能显示脚本的内容吗? –

0

运行“git init”来重新初始化你的本地git仓库。

相关问题