标签: githooks

如何在不尝试提交的情况下手动运行git pre-commit钩子?

我只是希望能够运行它以查看我的工作树中的代码是否通过它,而不实际尝试提交.

githooks

33
推荐指数
4
解决办法
7814
查看次数

链接git hooks

正如你们许多人可能知道的那样,git中只能有一种钩子类型.如果需要评估两个更新挂钩.git管理员留下了两个无法管理的解决方案:

  1. 将钩子脚本合并在一起
  2. 手动链接他们 exec

我正在寻找一个优雅的解决方案(用BASH编写),类似文件夹hooks/update.d或者hooks/post-receive.d允许松散耦合钩子评估.一旦挂钩失败,链接就应该停止.

我实际上在这个URL上找到了一个用Perl编写的可接受的解决方案http://blog.bluefeet.net/2011/08/chained-git-hooks

问题:我的服务器运行不同版本的perl,我得到perllib版本不匹配.它失败.

git githooks

32
推荐指数
1
解决办法
4606
查看次数

Git接收/更新挂钩和新分支

我有'更新'钩子的问题.在新分支的情况下,它获得0000000000000000000000000000000000000000作为'oldrev'.我不知道如何处理这种情况.

我们要求每个提交消息都引用有效的Jira问题.所以我在我们的中央存储库上安装了一个"更新"钩子.那个钩子得到了"oldrev"和"newrev".然后我将这些传递给"git rev-list",如下所示:

git rev-list $oldrev..$newrev

这给了我所有转速的列表,然后我可以迭代,并做我需要做的任何事情.

问题是,当用户推送新分支时,钩子获得0000000000000000000000000000000000000000作为oldrev.而"git rev-list"只是抱怨:

fatal: Invalid revision range 0000000000000000000000000000000000000000..21bac83b2

那么如何获得该新分支上所有转速的列表?我已经搜索网了很长一段时间了,一无所获.我找到了示例钩子

  • 不处理该问题,并失败并出现上述错误消息
  • 错误地尝试通过将oldrev设置为""来解决问题,这会从rev-list返回错误的结果
  • 当他们遇到oldrev时放弃

这些听起来都不是特别刺激.

那么有人知道如何在这种情况下得到正确的答案吗?我正在考虑查询git"给我所有可以从newrev到达的转,但不能从任何其他分支(=除了新分支之外的所有分支)".但是,如果从新分支到任何旧分支的合并,即使这样也会给出错误的答案.

git git-push githooks

31
推荐指数
3
解决办法
1万
查看次数

将PowerShell脚本作为git钩子运行

是否可以将PowerShell脚本作为git钩子运行?

我在PowerShell提示符下运行git,这应该没什么区别,但是我似乎无法让它们工作,因为钩子的命名没有扩展,而PowerShell需要(AFAIK).ps1扩展名.我不确定这是问题还是其他问题.

谢谢,埃里克

git powershell githooks

31
推荐指数
7
解决办法
1万
查看次数

如何在git中获取或拉取命令后立即执行命令?

我克隆了GHC(格拉斯哥Haskell编译器)存储库.为了构建编译器,您需要几个库,它们都可以作为git存储库使用.为了方便现场使用,GHC黑客包括一个脚本sync-all,在执行时会更新所有相关的存储库.

现在我的问题是:./sync-all pullgit pull自动完成后如何让git执行?我听说过使用挂钩,但我真的不知道,我该怎么办.

git ghc githooks

30
推荐指数
2
解决办法
3万
查看次数

git hooks:有没有克隆钩子?

我们希望在外部数据库中存储有关提交的一些元信息.在克隆或结帐期间,应该引用此数据库,并将元信息复制到克隆的repo中的文件.数据库是必需的而不是仅仅使用文件是为了索引和搜索等...

我想如果有一个克隆钩子,我们可以触发它.我在.git/hooks中找不到样本中的克隆挂钩.有吗?客户端是唯一的可能性是post-checkout hook?

git git-clone githooks

30
推荐指数
4
解决办法
2万
查看次数

我如何对git hooks中的新标签做出反应?

我想设置一个git钩子,根据传入的标签创建一个CDN样式的目录结构.因此,举例来说,如果在本地存储库中的最后一个标签是"V1.2.1"和我拉以"V1.2.2"提交,应该看到新的标签和克隆库到一个新的直接(../1.2 .2)相应的.

我很确定我想把这个附加到post-receive,但是我在文档中找不到关于如何读取传入标签的git hooks.它们是在不同的钩子上交付的吗?我是否真的需要让shell脚本运行git命令来查看是否有任何新提交有新标签?

谢谢!

git githooks

28
推荐指数
1
解决办法
2万
查看次数

Git挂钩管理

我们在项目中使用自定义编写的Git钩子.

挂钩存储在项​​目的存储库中,当它们发生更改时,为了获得新版本,每个用户必须在其.git/hooks目录中手动复制它们.这很不方便.

改善这种情况的一种方法是将.git/hooks符号链接到worktree.但这意味着每个分支(甚至用户的本地功能分支正在开发中)应该具有最新版本的钩子.这也不方便.

你会如何解决这个问题?

git githooks

26
推荐指数
2
解决办法
6926
查看次数

在python/bash脚本中编写Git钩子

我最近需要编写git hooks,用于引用特定票证的所有提交.

我希望有一个地方可以开始学习.pro git书中的所有内容都是用Ruby编写的.由于Ruby不是我强大的西装,任何人都可以分享有关用其他语言编写的git hook的教程吗?(我特别喜欢Python或Bash脚本.)

git githooks

26
推荐指数
3
解决办法
2万
查看次数

创建一个BitBucket git提交钩子?

我刚从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)

git bitbucket githooks

26
推荐指数
2
解决办法
3万
查看次数

标签 统计

githooks ×10

git ×9

bitbucket ×1

ghc ×1

git-clone ×1

git-push ×1

powershell ×1