githooks相关内容

为什么checkout -f放入接收后挂钩是正确的选择?

我在Dreamhost上拥有一个帐户,他们对如何使用Git跟踪自定义WordPress主题中的文件进行了说明.他们的说明位于 https://help .dreamhost.com/hc/zh-CN/articles/227816388-Using-Git-with-DreamPress ,与许多其他建议相同的网站相同.例如, http://git-memo.readthedocs.io/en/l ..
发布时间:2020-11-14 22:59:21 其他开发

接收后挂钩失败-有机会看到原因吗?

我正在实现此方法,用于将更新发送到我的网站: 创建了要推送到的裸仓库 $ mkdir website.git && cd website.git $ git init --bare 并添加了以下钩子: $ mkdir /var/www/example.com $ cat > hooks/post-receive #!/bin/sh GIT_WORK_TREE=/var/www ..
发布时间:2020-11-14 22:52:05 其他开发

用git hook更新网站的问题

我已经在服务器上建立了一个网站,并使用git对其进行维护.因此,我创建了两个git存储库,一个在$HOME/site推送的裸仓库,一个在/var/www推送的非裸仓库,应该在每次进行更改时从裸仓库中提取. 为了自动更新非裸仓库,我已经在包含以下内容的裸仓库中创建了 git钩子并将其授予执行者权限: #!/bin/bash cd /var/www git pull 但是,每次推送到 ..
发布时间:2020-11-14 22:50:15 其他开发

除了core.hooksPath全局钩子之外,如何运行本地Git项目钩子?

当前我正在使用 git config --global core.hooksPath ~/.git/hooks 为所有git项目配置全局挂钩.但是,如果这些项目包含挂钩,则它们不会运行. 我想运行全局挂钩以及项目挂钩.谢谢! 解决方案 我认为唯一的方法是让全局挂钩检查是否存在相应的本地挂钩并运行它. 这不是一个完整的解决方案,因为某些钩子( pre-push 例如)除 ..
发布时间:2020-11-14 22:34:18 其他开发

如何用git init用更新的版本替换本地git钩子?

我和这里的用户有完全一样的问题: git初始化模板,替换了已修改的钩子 我的全局git钩子中有一个新的模板文件.但是,原始模板文件已经加载,因此git init不会覆盖.我在这里读到的一样,这似乎是正确的git行为: 来自 http://www.cs. potsdam.edu/cgi-bin/man/man2html?1+git-init : 在现有存储库中运行git in ..
发布时间:2020-11-14 22:33:15 其他开发

如何检查有效的Git分支名称?

我正在使用Python开发 git post-receive钩子.数据在stdin上以类似于 的行提供 ef4d4037f8568e386629457d4d960915a85da2ae 61a4033ccf9159ae69f951f709d9c987d3c9f580 refs/heads/master 第一个哈希是旧引用,第二个是新引用,第三列是要更新的引用. 我想将其分为3个变量, ..
发布时间:2020-11-14 22:13:24 Python

github服务器端git钩子(即提交前和提交后)

我一直在SO和Web上寻找答案,但在github(相对于webhooks)上如何设置服务器端git钩子一无所获.有办法吗? 或者,是否可以进行设置,以使.git/hooks在克隆时是工作树的一部分的符号链接?? 我应该补充一点,这是一个内部托管的github服务器. 解决方案 出于显而易见的原因,GitHub不允许您在其服务器上执行任意代码作为Git挂钩的一部分.他们允许的唯一 ..
发布时间:2020-11-14 21:52:13 其他开发

确定目录中是否有任何文件更改过最新的Git提交

我正在为git编写一个post-commit挂钩.我想知道最新提交是否更改了特定目录中的任何文件.如果有任何更改,我可以继续并调用一些昂贵的代码,否则我可以跳过它. 因此,到目前为止,我正在像这样获得短哈希值: # get last commit hash prepended with @ (i.e. @8a323d0) function parse_git_hash() { gi ..
发布时间:2020-11-14 21:07:13 其他开发

是否可以在Gerrit中运行预接收样式挂钩?

我们计划制定一些策略,以确保我们不接受不遵守提交消息策略的提交.此政策是针对某个回购协议的. 是否可以在Gerrit中运行预接收样式挂钩,以便在创建补丁之前在其中运行这些策略? 解决方案 是的,Gerrit具有自己的挂钩机制,该机制通过还请考虑使用 Git ::钩子.我们使用它,它真的很好.使用Git :: Hooks,您可以实施更好的策略来管理这些检查: 1)接受提交(已创建 ..
发布时间:2020-11-13 20:16:25 其他开发

有没有办法使本地分支不变?

我非常愚蠢,有时我会在错误的 master 分支中合并一个“功能分支”,而不是 develop 分支,这当然会导致痛苦和痛苦。 由于这已经是第二次了,我想知道是否有办法 我已经尝试过这个预提交钩子是为了防止我直接在所述分支上进行提交,但这并不是像下面那样停止合并: git checkout master git merge wip 有没有办法防止对本地分支 ..
发布时间:2020-09-23 19:08:22 其他开发

Git挂钩,用于在分支更改时更新Git子模块

我正在处理一些使用Git子模块的旧代码。该代码具有多个正在使用的分支,但不幸的是,这些分支中的每一个都依赖于相关子模块的不同修订版。 这使开发变得极为复杂。我面临的问题之一是,当我从 master 到 newfeature-foo ,使用 git checkout newfeature-foo ,子模块的状态仍保持为 master 的状态,这通常会导致编译错误,甚至更糟的是,会导致运行时行为方面的 ..
发布时间:2020-09-23 18:43:35 其他开发

Git挂钩可以在子模块更改时更新超级项目?

我有三个git存储库:A,B和C. C是一个包含子模块A和B的超级项目,跟踪每个子模块各自的主分支. 更改A或B的主分支时,我必须在C中执行以下操作: git submodule update --remote git add A git add B git commit -m "Update submodule A or B" git push 此时,将执行从C进行的自动构建和部 ..

git pull hook(更新后)没有任何反应

在实时服务器上执行git pull时,我以root用户身份登录,因此所有修改过的文件或新文件的用户和组均设置为root:root. 我已经在我的post-update挂钩文件中尝试过此设置: OWNER="example:example" REPO_PATH="/home/example/public_html" cd $REPO_PATH || exit unset GIT_DIR ..
发布时间:2020-07-31 03:59:21 其他开发

如何获取在预接收挂钩中提交的所有哈希?

我正在为Git写一个预接收钩子.如果推送了多个提交,但其中任何一个失败,则整个推送都会失败.这就是我想要的. 我的问题是,并非所有提交中的所有哈希都被传入.例如,只有最新的提交哈希. 2个提交被推送到一个仓库中 Commit 1 - 4b5w Commit 2 - 6gh7 -------------> passed in to pre-receive hook, ..
发布时间:2020-07-25 20:54:04 其他开发

Git:如何在预提交挂钩中重新暂存已暂存的文件

我正在写一个git pre-commit钩子. 该脚本可以重新格式化某些代码,因此可以修改暂存的文件. 如何重新暂存已暂存的所有文件? 解决方案 在没有pre-commit hook上下文的情况下,您可以git diff --name-only --cached 因此,如果要重新索引已暂存的文件,可以使用: git diff --name-only --cached | ..
发布时间:2020-07-23 02:29:02 其他开发

我如何要求git将分支合并回父级

有没有一种方法可以写一个别名,将一个分支合并回到其父级?我知道我可以做到: git checkout - && git merge - 但是它仅在简单的情况下(当我的前一个分支是父分支时才有效). 据我所知git不会跟踪此类信息,因为那里没有分支.但我希望它已经实现为插件或挂钩集. 预先感谢. 解决方案 正如VonC所说,我首先要做的是找到当前分支的父级.以下脚本主要满足我的需 ..
发布时间:2020-07-23 02:16:01 其他开发