Git 添加预提交钩子而不是提交的暂存文件

2024-02-08

我编写了一个预提交挂钩来编译我的项目并将生成的文件添加到提交中。

这是一个 JavaScript 项目,我使用的是 husky,但我也尝试过编辑 .git/hooks/pre-commit,但该文件没有添加到提交中。如果我取消提交,我可以看到文件已添加,但由于某种原因,这不适用于当前提交。

我的预提交钩子看起来像:

const shell = require('shelljs');

shell.exec('yarn bundle');
shell.exec('git add dist');
shell.exit(0);

shelljs只是一个在node中执行跨操作系统unix命令的库

我编辑了.git/hooks/pre-commit to run git add dist并且该文件仍未添加到提交中


我不认为git add可以在一个预提交钩子 https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks#_committing_workflow_hooks,用于检查将要提交的内容,而不是修改它。

您可以遵循类似于“Git 挂钩可以自动将文件添加到提交吗? https://stackoverflow.com/a/12802592/6309" 相反,这会创建一个单独的附加提交。

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

Git 添加预提交钩子而不是提交的暂存文件 的相关文章

  • 重新打包存储库对于大型二进制文件有用吗?

    我正在尝试将大量历史记录从 Perforce 转换为 Git 并且一个文件夹 现在是 git 分支 包含大量大型二进制文件 我的问题是运行时内存不足git gc aggressive 我的主要问题是重新打包存储库是否可能对大型二进制文件产生
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • 如何合并两个连续的 git 存储库

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

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • GIT:以下未跟踪的工作树文件将被签出覆盖

    我有两个分支 一个称为 master 另一个称为 dev 我目前位于 master 分支 我想转到 dev 分支将文件移动到开发服务器 但是当我执行 git checkout dev 我收到消息 以下未跟踪的工作树文件将被覆盖 查看 pag
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 为什么 Git 无法将文件更改与修改后的父级/主控合并?

    我有一个文件 里面只有一行 我创建一个分支并向同一文件添加第二行 保存并提交到分支 我切换回主人 并向文件中添加不同的第二行 保存并提交给master 现在总共有 3 条独特的线路 如果我现在尝试将分支合并回主分支 则会遇到合并冲突 为什么
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • `git push` -- 没有输出,什么也没有发生

    touch test git add test git commit m test git push u origin master 这奏效了 该文件已上传到存储库 rm test cp R website website git rm t
  • 显示 master 之前/之后有多少提交分支的别名

    新的 Bitbucket Branches 页面非常棒 它显示每个分支领先 落后于 master 的提交数量 是否有显示相同信息的 Git 别名 信息应显示 分店名称 上次更新是什么时候 其背后有多少提交 有多少提交领先于 master 看
  • 有没有一个简单的命令可以将分支转换为标签?

    我即将完成将 哑快照 转换为 git 的繁琐过程 这个过程进展得非常顺利 感谢这个重命名过程 https stackoverflow com questions 6628539 how to tell git that its the sa

随机推荐

  • HTTPS 与 NSURLConnection - NSURLErrorServerCertificateUntrusted

    我有一个可以通过 http 连接良好的应用程序 尝试 https 时 我收到错误消息 指出根证书不受信任 我找到了我的站点证书 其 CA 证书和 CA 根证书的 URL 并通过 Safari 将它们添加到手机中 现在 当我进入 首选项 gt
  • Visual Studio 中的单元测试 MVC Web 应用程序和 QTAgent 问题

    我一直在尝试在 Visual Studio 中为 MVC 应用程序运行单元测试 并不断收到以下错误 指定的 URL http localhost 21496 与 有效目录 配置为在 IIS 中的 ASP NET 中运行的测试需要 URL 存
  • Javascript的tabIndex属性是跨浏览器的吗?

    我遇到了一个问题 并且这个答案 https stackoverflow com a 16492878 1223693解决了它 它使用该属性tabIndex 这个属性是跨浏览器的吗 哪些浏览器支持 通常我会使用 Google 来完成此任务 但
  • 无法在 SOAPUI 中导入 WSDL 文件 - NT 身份验证弹出窗口(加载 WSDL 时出错)

    我以前从未遇到过类似的问题 我尝试过 SOAP 4 0 1 和 SOAP 5 1 2 我在 Windows 上尝试过 也在 Windows Server 2008 上尝试过 我尝试导入 WSDL 出现 NT 身份验证对话框 指定 NT 身份
  • 运行时错误 91 未设置对象变量或 With 块变量 - 使用公共变量

    我目前正在开展一个项目 该项目整合了许多工作簿中的信息 虽然应用程序的第一个版本使用Select and Activate从我在本网站上看到的信息来看 应该尽可能避免使用这些方法 因此 我目前正在重新修改代码以尽可能消除这些问题 我正在使用
  • 仅通过 CSS 定位 IE9 [重复]

    这个问题在这里已经有答案了 只是想知道我的技巧包里有这些 IE 黑客 9 for IE8 and below for IE7 and below for IE6 即例如 body border 2px solid blue border 2
  • 您可以从另一台服务器发送 HTTP 响应吗?

    也许是愚蠢的问题 我最近一直在玩 Node js 喜欢设置服务器和发出请求等是多么容易 我还没有尝试过 但想知道如何将数据从一个请求转发到另一台服务器 并有第二个服务器向客户端发送响应 这可能吗 i e 客户端 gt 服务器 A gt 服务
  • 无法撤消子元素的文本装饰

    假设你有这个 html a href This is underlined span This isn t span a 还有这个CSS a hover text decoration underline I know this is en
  • 如何从字符串列表创建多个变量? [复制]

    这个问题在这里已经有答案了 我有一个字符串列表 例如 names apple orange banana 我想为列表中的每个元素创建一个列表 该列表的名称与字符串完全相同 apple orange banana 我怎样才能在Python中做
  • 如何使用实验说明符分辨率=节点运行node.js cli?

    我们的团队构建了一个用于维护的小型 CLI package json 指定了一个路径bin财产 一切都运转良好 bin eddy dist src cli entry js 自动完成是通过使用实现的 email protected cdn
  • Mongoose,如何清空集合

    我有以下 hapi js 服务器 const Hapi require hapi const Mongoose require mongoose const Wreck require wreck const server new Hapi
  • 如何修复 SOAPUI 中不支持的主次版本 52.0

    我正在 SOAPUI 中使用 groovy 脚本测试步骤运行 selenium 脚本 但出现以下错误 如何解决这个问题 java lang UnsupportedClassVersionError org openqa selenium s
  • 显示grafana点悬停的详细信息

    我使用 Influxdb 作为 grafana 的来源 在每个数据点的时间序列上 我有几个值和标签 如何将鼠标悬停在折线图中的特定数据点上显示相关数据点 或者 我可以调用一些 API 传递一些值来填充悬停时出现的工具提示 截至撰写本文时 还
  • URL 编码——& 符号问题

    我在某些字符编码方面遇到了一些问题 导致我网站上的搜索表单出现了一些问题 可能的字段值之一包含一个 符号 选择此选项并提交搜索后 符号将编码为 2526 使用页面底部的分页链接并导航到结果列表中的第二页时 符号将被编码为 26 最后 在尝试
  • JavaScript:以整数形式读取 3 个字节缓冲区

    假设我有一个十六进制数据流 我想将其分为 3 字节块 我需要将其作为整数读取 例如 给定一个十六进制字符串01be638119704d4b9a我需要读取前三个字节01be63并将其读取为整数114275 这就是我得到的 var sample
  • xcode 5:代码签名身份列表不完整

    刚刚更新并使用 xcode 5 来升级我的应用程序的第二个版本 但现在的问题出在代码签名身份上 当我打开 xcdoe 4 5 中的旧文件时 我会看到我的身份的完整列表 但在这个新项目中 只列出了一个开发人员身份 其余的 开发者和发行版 身份
  • 链接链接静态库中符号的动态库:macOS 与 Linux

    我正在将一个 Linux 应用程序移植到 macOS 链接行为存在差异 我花了一些时间才发现它的差异 该项目使用基于 CMake 的两阶段构建过程 一个 CMake 树创建一个动态库 该动态库链接到稍后创建的第二个树中创建的静态库 创建动态
  • 如何使用 Mathematica 查找 Waldo?

    这周末困扰着我 有什么好方法来解决这些问题沃尔多在哪里 https en wikipedia org wiki Where 27s Wally 3F Wally 北美以外 谜题 使用 Mathematica 图像处理和其他功能 这是我到目前
  • 如何对 Jekyll 扩展或插件进行猴子修补?

    我想重写一个 gem 方法 Jekyll 扩展 如下所示 File lib jekyll amazon amazon tag rb https github com tokzk jekyll amazon blob 8fd9d9ff676e
  • Git 添加预提交钩子而不是提交的暂存文件

    我编写了一个预提交挂钩来编译我的项目并将生成的文件添加到提交中 这是一个 JavaScript 项目 我使用的是 husky 但我也尝试过编辑 git hooks pre commit 但该文件没有添加到提交中 如果我取消提交 我可以看到文