Git:更新后挂钩,运行需要访问存储库中所有文件的脚本

2024-01-29

我现在遇到了一些困境,因为我需要一个脚本来运行,每当远程存储库更新时(即,每当有人运行 git Push),从存储库中的文件构建包。然后,这些包被放置到 git 服务器上的一个目录中,该目录通过 HTTP 公开给客户端以供将来使用。

问题是,我不确定如何在更新后挂钩中访问存储库中的文件。

如果有人能够提供一些见解,我们将不胜感激。


首先,您可能想使用 post-receive 挂钩而不是 post-update。根据吉特钩子(5) http://book.git-scm.com/5_git_hooks.html手册页中,接收后取代更新后。

也就是说,您的钩子脚本是在 .git/hooks 子目录中执行的,所以如果您执行一个简单的操作

cd ..

您的脚本位于 git 存储库的工作树中。例如,这是一个小脚本,可确保每当您推送到存储库时远程 git 存储库的工作树都会更新:

#!/bin/sh
export GIT_DIR=
cd ..
echo "Resetting working tree..."
git reset --hard
echo "Finished resetting working tree."

请注意,您需要取消设置 GIT_DIR 环境变量;它是自动设置的,只要设置了,所有 git 命令都将在该目录中运行 - 无论您 cd 到哪里。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git:更新后挂钩,运行需要访问存储库中所有文件的脚本 的相关文章

  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • 交互式变基后,本地 Git 分支已偏离原始分支

    我有一个本地分行 CRM ayrshireminis 其中有一些我已推送到原点的提交 origin CRM ayrshireminis 这个分支是从创建的develop大约一周前的一个分支 其他合作者已经在该分支上完成了一周的工作 我想做的
  • 有没有办法缓存 https 凭据以推送提交?

    我最近转而将我的存储库同步到 GitHub 上的 https 由于防火墙问题 并且每次都要求输入密码 有没有办法缓存凭据 而不是每次都进行身份验证git push 自 Git 1 7 9 2012 年发布 以来 Git 中有一个巧妙的机制可
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • 使用 TFS 个人访问令牌克隆 Git 存储库

    我正在尝试以编程方式克隆 git 存储库 我的 ASP NET MVC 应用程序正在创建并启动一个进程 处理进程的代码工作正常 但是当尝试使用本地 TFS PAT 克隆 git 存储库时 身份验证失败 我无法使用 NTLM 或要求用户输入凭
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss
  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • 远程测试时如何搭建git开发环境

    这似乎是一个愚蠢的问题 但我觉得我对 GIT 相当了解 但我似乎无法按照我的意愿设置我的开发环境 我要么错过了一些非常简单的东西 要么我做错了 我在我的服务器上初始化了一个裸 git 存储库 将其克隆到我的本地计算机 提交我的文件并推送到原
  • 有没有办法让 git flow 显示它在幕后执行的命令?

    有什么方法可以让 git flow 提前告诉我当我执行 flow 命令时它将执行的确切 git 命令吗 或者告诉我它是东吗 我只能看到输出和摘要吗 你可以使用Git的GIT TRACE 环境变量 http git scm com docs
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 致命:.git/info/refs 无效:这是一个 git 存储库吗?

    我有一个托管在 Assembla 上的 Git 存储库 我正在尝试执行以下操作 git push u origin master 我一遍又一遍地收到以下错误 fatal https url repo name git info refs n
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • Git - 创建拉取请求而不分叉

    使用 git 已经有一段时间了 关于 git pull request 有很多教程和解释 其动机是什么等等 我遇到两种情况 1 分叉 git 仓库 我查看了一些公共 git 存储库并决定我想要做出贡献 所以我 通过以下方式创建重复的存储库F
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • 如何将工作树与提交进行比较?

    我在用着 git diff mycommit 用于比较我的工作树mycommit 但它似乎忽略当前索引中不存在的文件 您可以按如下方式重现它 git init echo A gt A txt git add git commit m A g
  • 当 .gitattributes 中的 EOL 设置为 CRLF 时,Git diff 认为行结尾为 LF

    当我恢复对带有 Windows 行结尾的文件的更改并且 gitattributes 将 EOL 定义为 CRLF 时 git 认为行结尾已更改为 LR 即使十六进制编辑器显示 CRLF 仅当 gitattributes 定义 EOL 字符时
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件

随机推荐

  • 如何从角度构建中排除矩区域设置?

    在我的 Angular 5 应用程序中 当我使用以下命令创建构建时 ng build prod sm 和开源地图浏览器一样 moment 占用了 main js 文件中的大量空间 我发现当我使用时所有语言环境都会被加载 import as
  • Pandas 通过行替换合并两个 DF

    我遇到了将两个 DF 合并为一个并保存所有重复行的问题id来自第二个 DF 的值 例子 df1 pd DataFrame id id1 id2 id3 id4 com 134 6 223 0 123 malicious False Fals
  • 如何控制三次单击突出显示? (HTML)

    这是一个示例文本 Label Some text here 我怎样才能拥有它 以便当我三次单击该行时 它尝试仅突出显示此处的 Some text here 而不是整行 我可以发誓我以前见过用 css 完成的 我只是想不出办法 span La
  • preg_match() 和 preg_replace() 慢吗?

    我已经用 PHP 编码有一段时间了 我一直读到你应该只使用preg match and preg replace当你不得不这样做时 因为它会降低性能 为什么是这样 使用20真的很糟糕吗 preg matches在一个文件中而不是使用另一个
  • 如何使用 MatPaginator 更改分页标签中的文本? [复制]

    这个问题在这里已经有答案了 我正在使用角度材质 如何更改分页显示中标签中的文本 特别是 我想自定义页面大小选择器的标签 我尝试这样做 但似乎不起作用
  • 如何使用行分组对 PrimeNG 数据表中的数据进行排序

    我想要做的是对已经按字母顺序或自定义顺序分组的数据进行排序 我用的是sortField属性指定组头顺序 但我也需要对组内的数据进行排序 我有同样的问题 我添加了自定义排序来解决这个问题 添加自定义排序
  • java中执行多条SQL语句

    我想执行一个查询Java 我创建一个连接 然后我想执行一个INSERT语句 完成后 连接将关闭 但我想通过连接执行一些插入语句 当循环完成时 然后关闭连接 我能做些什么 我的示例代码是 public NewClass throws SQLE
  • TypeScript 按数组中的对象对对象进行排序

    有谁知道如何按任务中的 TaskTime 值对 Array 和 Person 进行排序 export class Person Id string Email string FirstName string LastName string
  • 类中的后代选择器

    由此我可以很好地理解选修课 http css maxdesign com au selectutorial selectors descendant htm基于什么元素 标签后代选择器是什么 它们如何工作 为什么工作以及目的是什么 但后来我
  • slurm:如何在另一个用户下提交作业并防止读取其他用户的文件?

    基于以下thread https stackoverflow com q 44540590 2402577 我正在尝试向另一个用户发送作业 我登录的身份是main user 并且 slurm 作业通过以下方式提交main user那可以做r
  • 启用 AR 相机时 iPhone X 手电筒会关闭

    我正在构建一个 AR 应用程序 需要将手电筒打开为手电筒模式 在我的 iPhone 8 上打开手电筒模式然后启用 AR 场景效果很好 但在 iPhone X 上 手电筒会打开然后再次关闭 有什么办法可以解决这个问题 或者我必须做一些特定的事
  • Symfony 错误 500 与 app.php,在 app_dev.php 上工作正常

    我目前正在尝试通过访问 app php 来使用我们的 基本 Symfony 2 应用程序 但是 每当我尝试访问 app php 时 都会收到错误 500 我检查了日志 生产日志为空 我已经尝试过配置文件中的 assetic 条目 但无济于事
  • 如何更改 pyplot.specgram x 和 y 轴缩放?

    我以前从未使用过音频信号 对信号处理知之甚少 尽管如此 我需要使用来表示音频信号pyplot specgram函数来自绘图库图书馆 我是这样做的 import matplotlib pyplot as plt import scipy io
  • ExifLib 可在 WPF / XAML 应用程序中使用吗?

    我想从 jpg 图像中提取 exif 数据 ExifLib http www nuget org packages ExifLib似乎是简化这项繁琐工作的不错选择 因此我通过 NuGet 安装了它 然后我尝试开始使用示例代码here htt
  • TYPO3:将插件从 USER 更改为 USER_INT 类型

    我有一个可用的 TYPO3 扩展 附有这个维基页面 http wiki orbeon com forms doc developer guide form runner typo3 extension 如何更改此扩展的代码 使其成为 USE
  • UISearchController searchBar在推送视图控制器时不会消失

    我在 ma 中使用 UISearchControllerUIViewcontroller其中包含一个UITableView 我这样做是在viewDidLoad self searchController UISearchController
  • 由于位图大小过大而导致内存不足异常

    由于虚拟内存堆大小有限 我遇到内存不足的问题 这是我从服务器获取位图的代码 SuppressWarnings unchecked public class DrawableManager SuppressWarnings rawtypes
  • Android 通知未在 API 26 上显示

    我最近将我的应用程序更新到 API 26 并且通知不再起作用 甚至没有更改代码 val notification NotificationCompat Builder this setSmallIcon R drawable ic noti
  • Amazon S3 重定向和 Cloudfront

    我正在尝试使用此处引用的对象在 S3 上设置 301 重定向http docs aws amazon com AmazonS3 latest dev how to page redirect html http docs aws amazo
  • Git:更新后挂钩,运行需要访问存储库中所有文件的脚本

    我现在遇到了一些困境 因为我需要一个脚本来运行 每当远程存储库更新时 即 每当有人运行 git Push 从存储库中的文件构建包 然后 这些包被放置到 git 服务器上的一个目录中 该目录通过 HTTP 公开给客户端以供将来使用 问题是 我