用ruby编写的Git post提交钩子没有在Git Tower中运行

用ruby编写的Git post提交钩子没有在Git Tower中运行,git,git-tower,Git,Git Tower,我已经用ruby编写了一个基本的post-commit钩子,我已经确认它在我从命令行提交时运行。然而,当我在Git Tower中提交时,它不会运行,我甚至没有看到Git Tower中出现任何错误 我的脚本以以下内容开头: #/usr/bin/env ruby,当我从命令行提交时,它确实正常运行,所以我知道脚本没有问题。我需要做些什么才能让gems正常加载吗?唯一的解释是Git Tower不是在同一个shell中运行的,也不是在同一个环境中运行的 看 请注意:钩子脚本是否依赖于在shell概要文件

我已经用ruby编写了一个基本的post-commit钩子,我已经确认它在我从命令行提交时运行。然而,当我在Git Tower中提交时,它不会运行,我甚至没有看到Git Tower中出现任何错误

我的脚本以以下内容开头:
#/usr/bin/env ruby
,当我从命令行提交时,它确实正常运行,所以我知道脚本没有问题。我需要做些什么才能让gems正常加载吗?

唯一的解释是Git Tower不是在同一个shell中运行的,也不是在同一个环境中运行的

请注意:钩子脚本是否依赖于在shell概要文件中创建/修改的shell环境变量的存在或特定值(如通过非标准路径(例如,
~/bin
')扩展“路径”)来运行钩子中的脚本)

如果答案是肯定的,那么您需要确保在钩子脚本本身中创建所需的shell环境(比如修改“
路径”
”),而不是在您的shell配置文件中,因为钩子脚本是从塔式进程环境调用的,而塔式进程环境不是在shell环境中运行的(因此不会加载shell配置文件)

在这种情况下,一个简单的shell脚本应该是您的post-commit钩子,以便:

  • 适当地修改环境
  • 调用您的ruby脚本
下面,一个更简单的shell脚本可以工作吗<代码>#/bin/sh echo“test”>>“post commit.log”2>&1