githooks相关内容

如何远程触发Jenkins多分支管道项目构建?

标题主要是这样说的.如何从远程 git 存储库触发 Jenkins 多分支管道项目构建? “远程触发构建"构建触发选项似乎不起作用,因为没有保存您设置的令牌. 解决方案 目前(Jenkins 2.22)“Trigger builds remote"构建触发器选项在多分支管道作业配置中可见,但不起作用(如果您选中它并指定一个令牌,无论如何保存后它会被重置).根据this,无法设置触发器 ..
发布时间:2021-12-14 21:52:03 其他开发

如何在 git repo 中链接依赖项?

在我的脚本中,我经常使用拥有自己存储库的库(我的或其他人的).我不想在我的 repo 中复制那些,并在每次出现新版本时都坚持更新它们.但是,当有人克隆 repo 时,它应该仍然可以在本地工作并且没有断开的链接. 对我能做什么有什么想法吗? 解决方案 您可以使用 git 中的子模块执行此操作.在您的存储库中,执行以下操作: git submodule add path_to_repo ..
发布时间:2021-12-14 13:43:15 其他开发

Bitbucket 上的 POST 钩子

如何在私有Jenkins的bitbucket中使用POST url? 我在使用 bitbucket 及其提交后遇到问题. 说明: http://username:password@myjenkins.instance/job/myproject/build?token=mytoken 我有一个 jenkins 实例,我想在推送某些存储库时触发.由于 jenkins 可以从外 ..
发布时间:2021-12-13 22:40:33 其他开发

将 git post-commit 挂钩应用于所有当前和未来的存储库

我已经编写了一个 Git 提交后钩子并且它可以正常工作.但是,我想添加这个钩子以应用于我正在处理的所有当前(和未来)git 存储库.我尝试将钩子添加到我的 ~/.git/hooks/ 而不是项目目录中的 hooks 目录中,但是,这似乎不起作用. 有什么方法可以创建适用于我系统上所有存储库的全局 Git 挂钩(无需将它们复制到每个项目目录中)?如果不是,那么最好的解决方案是什么——也许是一个 ..
发布时间:2021-12-06 09:52:08 其他开发

如何在预提交挂钩中正确 git stash/pop 以获得干净的工作树进行测试?

我正在尝试使用单元测试的裸运行来执行预提交挂钩,并且我想确保我的工作目录是干净的.编译需要很长时间,所以我想尽可能利用重用已编译的二进制文件.我的脚本遵循我在网上看到的示例: # Stash 更改git stash -q --keep-index# 运行测试...# 恢复更改git stash pop -q 但这会导致问题.这是重现: 将//Step 1添加到a.java git ad ..
发布时间:2021-12-06 09:40:54 其他开发

在 Git 中提交后如何自动推送?

如何设置 Git 自动推送到远程每次提交到本地存储库后,存储库(包括自动提供我的密码)? 解决方案 首先,确保您可以在不提供密码的情况下手动推送.如果您通过 HTTP 或 HTTPS 推送,那将是 使用登录详细信息创建 .netrc 文件 或 将您的用户名和密码添加到远程 URL 中.如果您使用 SSH,您可以创建一个私钥没有密码的密钥对,或者 使用 ssh-agent 缓存您的私钥. ..
发布时间:2021-12-06 09:40:19 其他开发

将 git hooks 放入存储库

是否被认为是一种不好的做法 - 将 .git/hooks 放入项目存储库(例如,使用符号链接).如果是,向不同的 git 用户提供相同钩子的最佳方式是什么? 解决方案 我大体上同意 Scytale,还有一些额外的建议,足以值得单独回答. 首先,您应该编写一个脚本来创建适当的符号链接,特别是如果这些钩子是关于执行策略或创建有用的通知的.如果人们可以直接输入 bin/create-hoo ..
发布时间:2021-12-06 09:27:47 其他开发

Git 钩子脚本可以与存储库一起管理吗?

我们想制作一些我们都可以共享的基本钩子脚本——用于诸如预格式化提交消息之类的事情.Git 具有通常存储在 /.git/hooks/ 下的钩子脚本.但是,当人们进行克隆时,这些脚本不会传播,并且它们不受版本控制. 有什么好的方法可以帮助每个人获得正确的钩子脚本吗?我可以让这些钩子脚本指向我的 repo 中的版本控制脚本吗? 解决方案 理论上,您可以在包含所有脚本的项目目录中创建一个 h ..
发布时间:2021-12-06 09:05:22 其他开发

使用 Git push 部署项目

是否可以使用 git push 部署网站?我有一种预感,它与使用 git hooks 有关 在服务器端执行 git reset --hard,但我将如何完成此操作? 解决方案 我发现了这个本网站上的脚本,它似乎运行良好. 将您的 .git 目录复制到您的网络服务器 在您的本地副本上,修改您的 .git/config 文件并将您的 Web 服务器添加为远程: [远程“生产"]u ..
发布时间:2021-12-06 08:59:29 其他开发

带有 git post-receive 钩子的边带解复用器出错

我已经用 git 设置了我的一个 EC2 实例,并使用 post-receive 钩子将它部署到我的服务器 本教程.这是我控制台的输出: $ git push 生产大师git@example.com 的密码:计数对象:26,完成.Delta 压缩最多使用 4 个线程.压缩对象:100% (19/19),完成.写入对象:100% (19/19),2.51 KiB,完成.总计 19 个(增量 14) ..
发布时间:2021-11-11 06:03:14 服务器开发

如何使Pivotal Tracker& amp;Github集成?

Pivotal Tracker和Github集成度很高:设置完成后,每个以Pivotal Tracker ID为前缀的提交都会自动出现在相应的Pivotal Ticket下面,例如: git commit -am'[#1234567]我的新更改"git push起源 将自动添加注释“我的新更改"以及github提交链接到1234567 Pivotal Ticket. 但是,很容易忘记 ..
发布时间:2021-05-11 18:35:00 其他开发

我可以在接收前挂钩中获取正在推送到远程存储库的文件的列表吗?

我需要编写一个 pre-receive 钩子脚本,以获取有关被推送到服务器中的文件的信息. 我想知道是否可以通过远程存储库中存在的脚本来获取被推送到远程存储库中的文件列表 有关信息,我需要访问这些文件以便对其进行一些代码样式检查. 解决方案 在该钩子的服务器上,您将传入ref,旧sha和新sha.只需使用 git diff --name-only old..new 从挂钩中获取 ..
发布时间:2021-05-11 18:33:16 其他开发

git服务器端钩子-仅推送特定分支

我是git hook的新手.我想确保仅将分支(以BT开头)推入/更新到存储库.因此,无法更新master/current分支.我怎样才能做到这一点?我想它应该是更新脚本的一部分,对吧? 解决方案 它可能是 pre-receive 钩子. #!/bin/bash#样本z40 = 0000000000000000000000000000000000000000000000同时阅读旧的新参考书 ..
发布时间:2021-05-11 18:33:13 其他开发

git pre-push hook:在每个新提交上运行测试

上下文 我想确保我进行的每个提交都通过测试. 我想在我的(客户端)端进行检查,即在提交提交之前(因此,我不想依赖CI工具). 问题 当前,我已经实现了一个 pre-commit 钩子来运行我的测试,因此我什至无法 commit 处于损坏状态. 但是,我的测试套件需要花费几秒钟的时间才能运行.在写入提交消息之前,我需要等待很多时间.这使得每天不切实际使用;两者都是因为我 ..
发布时间:2021-05-11 18:33:10 其他开发

在预推钩中,获得"git push"按钮.命令全部内容?

当Git pre-push 钩子脚本工作时,如何获取完整的 git push 命令内容? 例如,当我运行: git push origin master 时,执行了预推钩子.我想获取 origin & master 在这个钩子中. 如何获取参数列表? 解决方案 TL; DR摘要:您需要进行while循环 您的钩子脚本(假设为sh/bash)应包含以下形式的循环: ,同时 ..
发布时间:2021-05-11 18:33:07 其他开发

git post-receive后更改所有权

我有以下设置: 两个用户:example和git 在/home/git/repositories/project.git/hooks/post-receive 内部,我要结帐到/home/example/public_html/dev 因此,每次git推送时,项目文件都会发布到 http://dev.example.com 问题是,签出是从git用户执行的,因此dev目录内 ..
发布时间:2021-05-11 18:33:02 其他开发

强制执行git分支机构政策

我正在尝试执行以下假设的公司政策: 只有三个可用的上游分支:master,version/*和hotfix/*. Master分支仅接受未转发的合并提交. 版本分支和修补程序分支仅接受快速转发/基于基础的提交. Master分支只能合并到Version或Hotfix分支. 版本分支和Hotfix分支必须直接与Master分支分开. 到目前为止,这是我想出的: #!/usr/b ..
发布时间:2021-05-10 20:58:31 其他开发

跟踪git中子文件夹的版本号

我的团队正在使用github管理充满cms主题的私人仓库.我们将它们全部放在同一个仓库中,并通过子文件夹,标签跟踪它们,并在分支和提交中添加主题名称作为前缀 IE 提交消息:"[超级主题]升级的导航包含悬停效果" 分支 super_theme-upgrade-navigation-hover 现在,我们想在主题的设置页面中引入语义版本控制,因此,如果单击一下,您将获得版本号,但是我 ..
发布时间:2021-05-10 20:58:10 其他开发

Git合并后钩子,如何获取合并分支的名称

我正在尝试创建仅在从特定分支合并时才运行的合并后挂钩脚本.我如何确定分支更改的名称来自特定的提交? 例如 如果$ from_specific_branch == 1则git diff --name-status HEAD @ {1} HEAD"some_folder" |同时读取st文件;做#skip已删除如果["$ st" =='D'];然后继续;科幻#..对那些文件进行处理结尾 解 ..
发布时间:2021-05-10 20:56:55 其他开发