githooks相关内容

在文件名超过指定限制时拒绝提交的Git挂钩

我希望创建一个客户端预提交GIT挂钩,如果添加到提交中的任何文件的文件名超过指定限制(例如256),则该挂钩将阻止提交。 推荐答案 这里是起点: #!/bin/sh # .git/hooks/pre-commit # Checks that the file about to be committed # doesn't have a name longer than 256 ..
发布时间:2022-07-03 15:30:20 其他开发

如何在GitLab存储库中发生提交时触发某些脚本

我正在寻找一种方法,当我们的GitLab存储库发生提交时,在我们的远程服务器上运行一些Python脚本。我们没有托管我们的回购,它在GitLab服务器上。欢迎任何建议。 提前谢谢。 推荐答案 可以通过将请求作为管道的一部分发送到远程服务器来解决此问题。 例如在您的.gitlab-ci.yml文件中,该文件位于存储库的根目录中: ---- stages: - re ..
发布时间:2022-07-01 11:17:33 其他开发

设置GIT挂钩以在远程服务器上自动拉入GIT

我有一个远程ubuntu服务器,存储来自GitHub的代码的实时版本。每次我使用git从本地计算机推送时,我都希望远程服务器自动拉取代码。其他指南通常谈论将php文件添加到Web目录,尽管我的服务器没有直接的HTTP URL或www目录,因为它不用于网站。 我还尝试创建了post-receive挂钩,但没有结果,我不知道我是否做错了。 我的.git/hooks中的POST接收文件: ..
发布时间:2022-04-02 20:38:22 其他开发

将GIT提交后挂接应用于所有当前和未来的存储库

我已经编写了一个Git提交后挂钩,它可以正常工作。然而,我想添加这个钩子,以应用于我正在处理的所有当前(和未来)Git存储库。我尝试将挂钩添加到我的~/.git/hooks/目录中,而不是添加到项目目录中的挂钩目录中,但是,这似乎不起作用。 有没有一种方法可以创建应用于我系统上的所有存储库的全局Git挂钩(而不必将它们复制到每个项目目录中)?如果没有,未来的最佳解决方案是什么--也许是git-i ..
发布时间:2022-03-28 21:48:43 其他开发

将Git挂钩放入存储库中

是否认为将.git/hooks放入项目存储库(例如,使用符号链接)是一种糟糕的做法。如果是,向不同的Git用户提供相同钩子的最佳方式是什么? 推荐答案 我大体上同意with Scy,另外还有几个建议,足以值得单独回答。 首先,您应该编写一个脚本来创建适当的符号链接,特别是在这些挂钩是关于实施策略或创建有用的通知的情况下。如果人们只需要键入bin/create-hook-symlink ..
发布时间:2022-02-20 16:36:49 其他开发

在某些条件下使用钩子自动将一个分支合并到另一个基础上?

我的 github 存储库中有两个分支 - master 和 dev 分支.我有一个要求,我需要在以下条件下将 master 分支合并到 dev 分支: 一旦 PR 直接合并到 master 分支,我需要自动将 master 分支合并回 dev 分支. 每当有人直接向 master 分支添加提交时,我需要自动将 master 分支合并回 dev 分支. 这有可能做到吗?我相信我们可以 ..
发布时间:2022-01-10 11:41:41 其他开发

如何绕过:远程:GitLab:作者<non-member-email-here>是不是团队成员?

我有一个 GitLab 项目(起源),它最初是从另一个 GitHub 项目 (github) 克隆的. $ git 远程github起源 我通过以下方式实现了这一点: git远程添加github https://the-git-hub-remote.git 现在我想将 GitHub 的新更改合并到我的本地代码中.所以我做了以下 在我的本地计算机上,我从 GitHub 中提取了更改 ..
发布时间:2022-01-10 11:40:52 其他开发

指示存储库已弃用的 Git 挂钩

我们有一个存储库(托管在 GitLab 实例上),少数项目仍在引用该存储库,但已被弃用,取而代之的是另一种解决方案. 有没有办法将存储库标记为“已弃用"? 理想情况下,来自该存储库的每个 fetch(作为 git submodule update 的一部分)都会导致在获取期间打印一条巨大的消息.我期待添加一个简单的 Git 钩子来打印这条弃用的消息.但是,似乎没有“在每次获取时都运行这 ..
发布时间:2022-01-10 11:34:22 其他开发

Gitlab post-receive/update hook 将提交转发到另一个 git repo

在一个团队中,我们设置了一个仅对我们的团队可用的 gitlab,用于开发目的、推送、分支等,我们有一个官方 git 存储库,我们希望仅将来自 master 分支的提交镜像到该存储库(稳定). 我知道这可以通过使用服务器端 git 钩子来完成,但我具体如何做到这一点,以便开发人员不必输入任何额外内容,并且钩子将在 gitlab 上设置(开发人员没有机器 - 本地仓库)? 解决方案 看看 ..
发布时间:2022-01-10 11:34:06 其他开发

如何在 GitLab 的服务器端添加预接收挂钩?

我正在尝试限制在我们的 gitlab 中提交的二进制文件(EXE、DLL、PDF).所以我需要添加钩子以在全局范围内限制它.我怎样才能做到这一点?Pre-receive hook 适合这个吗? 这个地方加钩子对吗? /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive 任何帮助表示赞赏! 解决方案 你可以安 ..
发布时间:2022-01-10 11:07:57 其他开发

想要设置一个将提交的文件复制到特定文件夹的挂钩

背景:使用 PHP Laravel 框架和开发 Facebook 应用程序用于数据库的 MySQL. 我已经在我们的开发服务器上设置了 Gitlab,并在其上创建了一个存储库,团队已添加并正在提交 &推送代码. 我想做的是,当我将代码推送到 GitLab 上的特定分支(例如 Master)时,我希望它可以在/var/www/productname 上使用,以便我可以在 Facebook ..
发布时间:2022-01-10 11:05:27 其他开发

Git推送错误预接收挂钩被拒绝

我已经在虚拟机上运行了 gitlabhq rails 服务器,按照本教程中的 1-6 个步骤进行操作 https://github.com/gitlabhq/gitlab-recipes/blob/master/install/centos/README.md 并启动 rails server 执行命令 sudo -u git -H bundle exec railss -e 生产.之后,我使用管 ..
发布时间:2022-01-10 10:44:03 其他开发

通过 git/gitolite 权限错误部署网站/webapp

我已经设置了一个开发/测试服务器,开发人员可以通过 gitolite/git 将存储库推送到远程存储库/网络服务器.在存储库站点上一切正常,但开发人员可以使用服务器: 问题: 我想将代码部署到 apache 文档根目录(chown'd apache:apcahe 和 chmod'd 755).我正在遵循这些说明 并且在编辑我的 post-receive hook 时,如下所述: #! ..
发布时间:2022-01-04 15:14:27 服务器开发

验证提交是否存在

如何验证当前分支中是否存在给定sha的提交? 解析输出的方法有很多,但我需要返回布尔值的最佳方法(用于 bash 脚本). 例如 sha=$1if [ -z `git magic --validate $sha` ];然后回声“无效的提交sha:$sha"出口 1菲 解决方案 rev-list |grep 方法工作正常;有一点点开销,因为 git 必须打印出所有的 SHA1 以供 ..
发布时间:2022-01-04 10:02:33 其他开发

不在监视模式下运行 Create-React-App 测试

我有一个使用 Create-React-App 创建的项目.我希望添加一个 precommit 钩子,以使用 pre-commit 包运行我们的 linter 和测试. “预提交":["precommit-msg",“皮棉",“测试"], 然而,由于测试脚本默认在监视模式下运行,这会阻止提交实际发生.如何在预提交中添加不在 watch move 中的测试? 解决方案 您可以使用 --w ..
发布时间:2022-01-01 23:13:00 其他开发

从本地机器推送后,从远程 DigitalOcean 服务器上的 GitHub 存储库自动拉取?

我有一个从本地机器推送到 GitHub 存储库的项目.我将这个项目部署在 DigitalOcean droplet 上,我目前必须通过 ssh 进入并执行 git pull,然后手动重新部署.有没有一种简单的方法可以让它自动拉动,然后自动构建和重新部署?我已经研究了 git hooks,但找不到任何关于我正在尝试做的事情的明确答案.我在远程机器上设置了一个更新后的 git 钩子,它只回显一行,但我 ..
发布时间:2021-12-29 13:38:05 其他开发

我将如何在 Git 中编写预合并挂钩?

问题说明了一切.有没有办法在合并之前执行操作?我猜有一种方法可以使用 pre-commit 钩子,但我不太确定. 解决方案 您可以尝试使用 prepare-commit-msg 钩子.第二个参数将是 merge “如果提交是合并或 .git/MERGE_MSG 文件存在".非零退出状态将中止提交. 我认为这不适用于快进合并,因为不会有提交消息. 关于钩子的更多信息:https: ..
发布时间:2021-12-27 21:54:00 其他开发

收到更新时将 Github 推送到远程服务器

让 Github 自动将任何更新推送到远程服务器的设置是什么? 这对于在 Github 上维护代码库以及让网站运行该代码库非常有用. 我在自己的电脑上有我的仓库,这就是我工作的地方. 我在本地存储库上提交更改,并将它们推送到我的 Github 存储库. 我希望我的 Github 存储库将这些更改推送到我的远程服务器. 我一整天都在研究,使用“钩子"听起来很合理.也许在 ..
发布时间:2021-12-21 11:20:27 其他开发

自动更新 package.json 版本

在我做一个小版本并标记它之前,我想更新 package.json 以反映程序的新版本. 有没有办法自动编辑文件package.json? 使用 git pre-release hook 会有帮助吗? 解决方案 npm version 可能是正确的答案.为了提供替代方案,我推荐 grunt-bump.它由 angular.js 的一名人员维护. 用法: 咕噜声>>版本升级 ..
发布时间:2021-12-16 11:46:05 其他开发