githooks相关内容
我希望创建一个客户端预提交GIT挂钩,如果添加到提交中的任何文件的文件名超过指定限制(例如256),则该挂钩将阻止提交。 推荐答案 这里是起点: #!/bin/sh # .git/hooks/pre-commit # Checks that the file about to be committed # doesn't have a name longer than 256
..
我正在寻找一种方法,当我们的GitLab存储库发生提交时,在我们的远程服务器上运行一些Python脚本。我们没有托管我们的回购,它在GitLab服务器上。欢迎任何建议。 提前谢谢。 推荐答案 可以通过将请求作为管道的一部分发送到远程服务器来解决此问题。 例如在您的.gitlab-ci.yml文件中,该文件位于存储库的根目录中: ---- stages: - re
..
我尝试在预推脚本(客户端挂钩)内克隆我的本地git存储库。我得到了例外: fatal: working tree '...' already exists. 我不理解该例外,因为我显然将存储库克隆到了不同的目录。 有什么想法吗? 我试过了: unset GIT_DIR cd .. git clone ./TestTest/ /tmp/PrePushTestClone
..
我有一个远程ubuntu服务器,存储来自GitHub的代码的实时版本。每次我使用git从本地计算机推送时,我都希望远程服务器自动拉取代码。其他指南通常谈论将php文件添加到Web目录,尽管我的服务器没有直接的HTTP URL或www目录,因为它不用于网站。 我还尝试创建了post-receive挂钩,但没有结果,我不知道我是否做错了。 我的.git/hooks中的POST接收文件:
..
我已经编写了一个Git提交后挂钩,它可以正常工作。然而,我想添加这个钩子,以应用于我正在处理的所有当前(和未来)Git存储库。我尝试将挂钩添加到我的~/.git/hooks/目录中,而不是添加到项目目录中的挂钩目录中,但是,这似乎不起作用。 有没有一种方法可以创建应用于我系统上的所有存储库的全局Git挂钩(而不必将它们复制到每个项目目录中)?如果没有,未来的最佳解决方案是什么--也许是git-i
..
是否认为将.git/hooks放入项目存储库(例如,使用符号链接)是一种糟糕的做法。如果是,向不同的Git用户提供相同钩子的最佳方式是什么? 推荐答案 我大体上同意with Scy,另外还有几个建议,足以值得单独回答。 首先,您应该编写一个脚本来创建适当的符号链接,特别是在这些挂钩是关于实施策略或创建有用的通知的情况下。如果人们只需要键入bin/create-hook-symlink
..
我的 github 存储库中有两个分支 - master 和 dev 分支.我有一个要求,我需要在以下条件下将 master 分支合并到 dev 分支: 一旦 PR 直接合并到 master 分支,我需要自动将 master 分支合并回 dev 分支. 每当有人直接向 master 分支添加提交时,我需要自动将 master 分支合并回 dev 分支. 这有可能做到吗?我相信我们可以
..
我有一个 GitLab 项目(起源),它最初是从另一个 GitHub 项目 (github) 克隆的. $ git 远程github起源 我通过以下方式实现了这一点: git远程添加github https://the-git-hub-remote.git 现在我想将 GitHub 的新更改合并到我的本地代码中.所以我做了以下 在我的本地计算机上,我从 GitHub 中提取了更改
..
我们有一个存储库(托管在 GitLab 实例上),少数项目仍在引用该存储库,但已被弃用,取而代之的是另一种解决方案. 有没有办法将存储库标记为“已弃用"? 理想情况下,来自该存储库的每个 fetch(作为 git submodule update 的一部分)都会导致在获取期间打印一条巨大的消息.我期待添加一个简单的 Git 钩子来打印这条弃用的消息.但是,似乎没有“在每次获取时都运行这
..
在一个团队中,我们设置了一个仅对我们的团队可用的 gitlab,用于开发目的、推送、分支等,我们有一个官方 git 存储库,我们希望仅将来自 master 分支的提交镜像到该存储库(稳定). 我知道这可以通过使用服务器端 git 钩子来完成,但我具体如何做到这一点,以便开发人员不必输入任何额外内容,并且钩子将在 gitlab 上设置(开发人员没有机器 - 本地仓库)? 解决方案 看看
..
我正在尝试限制在我们的 gitlab 中提交的二进制文件(EXE、DLL、PDF).所以我需要添加钩子以在全局范围内限制它.我怎样才能做到这一点?Pre-receive hook 适合这个吗? 这个地方加钩子对吗? /opt/gitlab/embedded/service/gitlab-shell/hooks/pre-receive 任何帮助表示赞赏! 解决方案 你可以安
..
背景:使用 PHP Laravel 框架和开发 Facebook 应用程序用于数据库的 MySQL. 我已经在我们的开发服务器上设置了 Gitlab,并在其上创建了一个存储库,团队已添加并正在提交 &推送代码. 我想做的是,当我将代码推送到 GitLab 上的特定分支(例如 Master)时,我希望它可以在/var/www/productname 上使用,以便我可以在 Facebook
..
我已经在虚拟机上运行了 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 生产.之后,我使用管
..
我已经设置了一个开发/测试服务器,开发人员可以通过 gitolite/git 将存储库推送到远程存储库/网络服务器.在存储库站点上一切正常,但开发人员可以使用服务器: 问题: 我想将代码部署到 apache 文档根目录(chown'd apache:apcahe 和 chmod'd 755).我正在遵循这些说明 并且在编辑我的 post-receive hook 时,如下所述: #!
..
如何验证当前分支中是否存在给定sha的提交? 解析输出的方法有很多,但我需要返回布尔值的最佳方法(用于 bash 脚本). 例如 sha=$1if [ -z `git magic --validate $sha` ];然后回声“无效的提交sha:$sha"出口 1菲 解决方案 rev-list |grep 方法工作正常;有一点点开销,因为 git 必须打印出所有的 SHA1 以供
..
我有一个使用 Create-React-App 创建的项目.我希望添加一个 precommit 钩子,以使用 pre-commit 包运行我们的 linter 和测试. “预提交":["precommit-msg",“皮棉",“测试"], 然而,由于测试脚本默认在监视模式下运行,这会阻止提交实际发生.如何在预提交中添加不在 watch move 中的测试? 解决方案 您可以使用 --w
..
我有一个从本地机器推送到 GitHub 存储库的项目.我将这个项目部署在 DigitalOcean droplet 上,我目前必须通过 ssh 进入并执行 git pull,然后手动重新部署.有没有一种简单的方法可以让它自动拉动,然后自动构建和重新部署?我已经研究了 git hooks,但找不到任何关于我正在尝试做的事情的明确答案.我在远程机器上设置了一个更新后的 git 钩子,它只回显一行,但我
..
问题说明了一切.有没有办法在合并之前执行操作?我猜有一种方法可以使用 pre-commit 钩子,但我不太确定. 解决方案 您可以尝试使用 prepare-commit-msg 钩子.第二个参数将是 merge “如果提交是合并或 .git/MERGE_MSG 文件存在".非零退出状态将中止提交. 我认为这不适用于快进合并,因为不会有提交消息. 关于钩子的更多信息:https:
..
让 Github 自动将任何更新推送到远程服务器的设置是什么? 这对于在 Github 上维护代码库以及让网站运行该代码库非常有用. 我在自己的电脑上有我的仓库,这就是我工作的地方. 我在本地存储库上提交更改,并将它们推送到我的 Github 存储库. 我希望我的 Github 存储库将这些更改推送到我的远程服务器. 我一整天都在研究,使用“钩子"听起来很合理.也许在
..
在我做一个小版本并标记它之前,我想更新 package.json 以反映程序的新版本. 有没有办法自动编辑文件package.json? 使用 git pre-release hook 会有帮助吗? 解决方案 npm version 可能是正确的答案.为了提供替代方案,我推荐 grunt-bump.它由 angular.js 的一名人员维护. 用法: 咕噜声>>版本升级
..