我只是希望能够运行它以查看我的工作树中的代码是否通过它,而不实际尝试提交.
正如你们许多人可能知道的那样,git中只能有一种钩子类型.如果需要评估两个更新挂钩.git管理员留下了两个无法管理的解决方案:
exec
我正在寻找一个优雅的解决方案(用BASH编写),类似文件夹hooks/update.d
或者hooks/post-receive.d
允许松散耦合钩子评估.一旦挂钩失败,链接就应该停止.
我实际上在这个URL上找到了一个用Perl编写的可接受的解决方案http://blog.bluefeet.net/2011/08/chained-git-hooks
问题:我的服务器运行不同版本的perl,我得到perllib版本不匹配.它失败.
我有'更新'钩子的问题.在新分支的情况下,它获得0000000000000000000000000000000000000000作为'oldrev'.我不知道如何处理这种情况.
我们要求每个提交消息都引用有效的Jira问题.所以我在我们的中央存储库上安装了一个"更新"钩子.那个钩子得到了"oldrev"和"newrev".然后我将这些传递给"git rev-list",如下所示:
git rev-list $oldrev..$newrev
这给了我所有转速的列表,然后我可以迭代,并做我需要做的任何事情.
问题是,当用户推送新分支时,钩子获得0000000000000000000000000000000000000000作为oldrev.而"git rev-list"只是抱怨:
fatal: Invalid revision range 0000000000000000000000000000000000000000..21bac83b2
那么如何获得该新分支上所有转速的列表?我已经搜索网了很长一段时间了,一无所获.我找到了示例钩子
这些听起来都不是特别刺激.
那么有人知道如何在这种情况下得到正确的答案吗?我正在考虑查询git"给我所有可以从newrev到达的转,但不能从任何其他分支(=除了新分支之外的所有分支)".但是,如果从新分支到任何旧分支的合并,即使这样也会给出错误的答案.
是否可以将PowerShell脚本作为git钩子运行?
我在PowerShell提示符下运行git,这应该没什么区别,但是我似乎无法让它们工作,因为钩子的命名没有扩展,而PowerShell需要(AFAIK).ps1扩展名.我不确定这是问题还是其他问题.
谢谢,埃里克
我克隆了GHC(格拉斯哥Haskell编译器)存储库.为了构建编译器,您需要几个库,它们都可以作为git存储库使用.为了方便现场使用,GHC黑客包括一个脚本sync-all
,在执行时会更新所有相关的存储库.
现在我的问题是:./sync-all pull
我git pull
自动完成后如何让git执行?我听说过使用挂钩,但我真的不知道,我该怎么办.
我们希望在外部数据库中存储有关提交的一些元信息.在克隆或结帐期间,应该引用此数据库,并将元信息复制到克隆的repo中的文件.数据库是必需的而不是仅仅使用文件是为了索引和搜索等...
我想如果有一个克隆钩子,我们可以触发它.我在.git/hooks中找不到样本中的克隆挂钩.有吗?客户端是唯一的可能性是post-checkout hook?
我想设置一个git钩子,根据传入的标签创建一个CDN样式的目录结构.因此,举例来说,如果在本地存储库中的最后一个标签是"V1.2.1"和我拉以"V1.2.2"提交,应该看到新的标签和克隆库到一个新的直接(../1.2 .2)相应的.
我很确定我想把这个附加到post-receive,但是我在文档中找不到关于如何读取传入标签的git hooks.它们是在不同的钩子上交付的吗?我是否真的需要让shell脚本运行git命令来查看是否有任何新提交有新标签?
谢谢!
我们在项目中使用自定义编写的Git钩子.
挂钩存储在项目的存储库中,当它们发生更改时,为了获得新版本,每个用户必须在其.git/hooks目录中手动复制它们.这很不方便.
改善这种情况的一种方法是将.git/hooks符号链接到worktree.但这意味着每个分支(甚至用户的本地功能分支正在开发中)应该具有最新版本的钩子.这也不方便.
你会如何解决这个问题?
我最近需要编写git hooks,用于引用特定票证的所有提交.
我希望有一个地方可以开始学习.pro git书中的所有内容都是用Ruby编写的.由于Ruby不是我强大的西装,任何人都可以分享有关用其他语言编写的git hook的教程吗?(我特别喜欢Python或Bash脚本.)
我刚从GitHub移植到BitBucket的回购.虽然它有很多必需品,但我发现找到创建git commit hook的文档非常困难.
最初我在CentOS服务器上有一个由GitHub钩子触发的ruby应用程序.有谁知道如何在BitBucket环境中实现相同的目标?
谢谢!
编辑:这是ruby应用程序看起来像它有什么帮助:
post '/' do
`rm -rf repofolder`
`git clone https://user@bitbucket.org/user/repo.git`
`sh fast_deploy.sh`
end
Run Code Online (Sandbox Code Playgroud)