Git钩子post-merge - 错误:无法运行

15

为了在pull之后触发一个git hook,我创建了一个post-merge hook。该脚本看起来像这样:

#!/bin/sh
git log > gitlog.txt

这个文件名叫做“post-merge”,拥有者与执行拉取命令的用户相同,并且具备正确的权限:755。

当你执行 git pull [remote] master 命令时,会出现这个错误:

error: cannot run .git/hooks/post-merge: No such file or directory

合并后的文件位于 .git/hooks 文件夹中。

1个回答

22

你可能需要检查sh脚本后面是否存在CR或其他类似的不可见字符。

有时文件可能会经过Windows系统,这种情况就会出现。

我认为在vi中它会显示为^M。

如果是这种情况,请将其删除,然后它应该可以正常工作。


3
谢谢,这就是正确答案。我通过在Notepad ++中进行编辑->EOL Conversion->UNIX格式来删除了CR。它原本是Windows格式,包含CR LF。 - InfoTracer
@PeterTillemans 如果我能给这个答案点个赞就好了。这道题让我困扰了至少20分钟... - max_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接