如何在提交后的钩子脚本中获取项目路径?(git)

2024-03-19

我想调用位于存储库中的脚本。

我当然可以执行以下操作:

#!/bin/sh
../../myscript.sh

但我认为这不太好;)

那么如何在提交后脚本中获取项目的路径呢?


When you're dealing with a non-bare repository, the post-commit1 hook is run with a current working directory of the working tree of the repository. So, you don't need the ../../.

如果您想要脚本的完整路径,您可以随时执行以下操作:

SCRIPT=$(readlink -nf myscript.sh)

...或者你可以使用git rev-parse --show-toplevel获取工作目录的绝对路径:

SCRIPT=$(git rev-parse --show-toplevel)/myscript.sh

1 ... but note that this is not true of some other hooks, e.g. in a post-receive hook in a non-bare repository, the current working directory is the .git directory.

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

如何在提交后的钩子脚本中获取项目路径?(git) 的相关文章

  • Git - 包含来自其他存储库的文件

    对于 Git 我想包含一些常见的 JS CSS 库和 或实用方法 即来自另一个存储库的特定文件 在我的项目中 我希望它们始终是最新的 我真的不想要整个远程存储库 如果我可以处理远程文件的 本地副本 并将更改推送回来 那就太好了 一个有点类似
  • 全局 git 配置数据存储在哪里?

    使用时git config global要进行设置 它将写入哪个文件 Example git config global core editor blah 我在这些地方找不到它 C Program Files Git etc gitconf
  • 如何为新的 eclipse (neon) java 项目初始化 git

    我安装了 eclipse Neon 的新副本 并在一个新的闪亮工作区中创建了一个新的 gradle java 项目 将 git 添加到聚会中的最佳实践是什么 我读到在项目目录中初始化 git 是真是个坏主意 https stackoverf
  • Git 子模块在 Windows 上更新缓慢

    Git 子模块在 Windows 上似乎非常慢 为了测试性能 我创建了 3 个裸存储库并向它们提交了 3 条独立消息 未存储文件 然后 我将每个裸存储库作为子模块添加到新的 git 存储库中 并执行子模块更新 花费了 5 秒多的时间 当使用
  • Sourcetree 2.1.2.5 - 显示“未提交的更改”,但没有任何待处理的内容

    我有一个以前没有遇到过的问题 即使我没有什么可提交的 并尝试将我的分支重置为 Sourcetree 显示的最新提交Uncommitted changes 根据 Atlassian 论坛的说法 通常有两个原因 您的工作目录中有很多很多未暂存的
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • Hudson 结帐卡在“git fetch”处

    我正在使用 git 版本 1 6 2 2 1669 g7eaf8 在 Hudson 1 314 上使用 Hudson Git 插件 0 7 3 当我触发构建时 Hudson 执行 git fetch 但它永远不会返回 我把一只卡在那里14天
  • git 提交消息的 vim 语法高亮显示 - 自定义 commentchar

    如上所述在这个答案中 https stackoverflow com a 14931661 835945 从 Git 1 8 2 开始你可以使用core commentchar配置值将提交消息注释更改为默认值以外的其他内容 哈希标记或哈希符
  • 从分离的头进行 Git 推送

    我以超然的态度做出了一些改变 我想用 Git 将这些更改推送到这个独立的头 我不希望我的更改进入开发分支 当然也不想进入主分支 我正在与另一个人一起处理一个文件 分支示例 develop master HEAD detached at or
  • 判断 Git 提交是否是合并/恢复提交

    我正在编写一个脚本 需要检查特定提交是否是合并 恢复提交 我想知道是否有 git 技巧 到目前为止我想到的 我绝对不想依赖这里的提交消息 是检查HASH 2看看我是否没有收到错误 是否有更好的方法 判断某个东西是否是合并很容易 这是不止一位
  • 使用 Git 的 Spring Cloud 配置服务器 - 无法克隆或签出存储库连接超时

    我正在使用 GIT 在 Spring Cloud Config Server 上进行 POC Spring Boot 1 5 3 RELEASE 爪哇1 8 弹簧工具套件https github com kishornpatil https
  • Gerrit 安装后无法克隆所有项目存储库

    我有一个新设置的 Gerrit 实例 目前只有两个存储库 所有项目 binutils 测试 尝试克隆所有项目时 我收到以下错误 git clone ssh user hostname 29418 All Projects Initializ
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • Git 命令显示我对给定远程的权限

    同事可以从远程存储库获取数据 但不能推送到远程存储库 我怀疑他对遥控器只有读权限而没有写权限 我可以通过多种方法来检查这一点 但我想不出他可以在 git 中使用的方法 是否有 git 命令可以显示给定远程存储库的权限 No Git 本身不处
  • 具有单独 work_tree 的 Git 子模块

    我按照本页上的教程使通过 Git 部署我的网站变得简单 http toroid org ams git website howto http toroid org ams git website howto 到目前为止一切都很好 但是我最近
  • `git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?

    我不明白之间的区别git rm cached and git update index assume unchanged 我知道git rm cached
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有

随机推荐

  • AngularJS 的面向对象方法

    Angular 似乎没有提供内置的解决方案来定义具有属性和方法的类实例 并且需要开发人员来构建它 您认为这样做的最佳做法是什么 如何将其与后端链接 我收集的一些技巧使用工厂服务和命名函数 资料来源 Tuto 1 https medium c
  • 使用 Spring boot 和 JWT 保护 REST Api

    我正在尝试使用以下方法来保护我的 REST 服务器JWT我已经实现了自己的 这意味着 JWT 中没有 spring 的东西可以自行处理 其他一切都是Spring当然 我有这门课 JWTToken implements Authenticat
  • Windows 应用程序认证工具包验证期间出现“检测到高操作系统版本验证”错误

    运行时出现以下测试失败Windows App Certification Kit 10 0 Platform version launch Error Found The high OS version validation detecte
  • 尝试使用空的捕获[重复]

    这个问题在这里已经有答案了 假设我有一个 try 语句和空 catch 是不好的做法吗 例如 假设我有两次单独的尝试 其中一次可能失败 但另一次成功 或者两者都成功 或者任何可能的组合 处理这样的代码是不好的做法吗 Example if m
  • 定义全局 android.widget var/val 时的“lateinit”或“by懒惰”

    定义全局时android widget变量 例如TextView 是否最好使用lateinit or by lazy 我最初想使用by lazy会被首选 因为它是不可变的 但我不完全确定 by lazy例子 class MainActivi
  • React-router - 如何在 React 中的页面之间传递数据?

    我正在开发一个项目 必须将数据从一个页面传递到另一个页面 例如 我有data在第一页上 let data id 1 name Ford color Red id 2 name Hyundai color Blue 这是第一个组件页面 我在其
  • javascript:如何调试键盘事件

    想象一个使用自定义键盘事件处理程序的 Web 应用程序 该处理程序可能会执行事件冒泡或事件捕获 有没有办法 例如 Firefox Firebug 插件 调试每个击键 键盘事件 就像是 显示事件类型和所有属性 跟踪哪个 javascript
  • 在三个js中使用鼠标悬停更改网格的颜色

    我已经编写了一个 WebGL 脚本 该脚本使用 jsonloader 和 Three js 显示多个网格 现在我想添加 MouseOver 和 onClick 事件 第一个是当鼠标悬停在网格上时简单地更改网格的颜色 function ren
  • PHP/Smarty 来自数据库的嵌套数组

    好的 我正在尝试通过嵌套查询访问 php mysql 数据库 例如 我有 2 张桌子 1 人和 2 登记 我在注册中有一个推荐 ID 选项卡 因此 当用户登录时 他应该能够看到在其 ID 下完成的 4 级注册 表结构 登记 编号 注册ID
  • Seaborn FacetGrid 包括用于删除级别的空列/行[重复]

    这个问题在这里已经有答案了 我正在使用内置的 Seaborn 数据集钻石建立一个基于 切割 和 颜色 的 FacetGrid 然而 我首先删除颜色 D 和 E 以及剪切 Fair 希望得到 5x5 网格 我的代码是 diamonds sns
  • PHP 类型转换混乱

    我有以下代码 我一直认为 res 应该是 false 就像上面的表达式一样 PHP 会尝试将 val 类型转换为布尔类型 其中零将被转换为 false 和字符串 非空字符串为 true 但是如果我执行上面的代码输出将是 boolean tr
  • 何时使用 Hashie::Mash?

    正在从这个 JSON API 获取一些产品 我想知道 我真的需要吗Hashie Mash 直播应用程序 http runnable com U QJCIFvY2RGWL9B pretty json keys http runnable co
  • 获取每秒音频文件的最大幅度

    我知道这里有一些类似的问题 但大多数都与生成波形有关images 这不是我想要的 我的目标是为音频文件生成波形可视化 类似于 SoundCloud 但不是图像 我希望获得数组中音频剪辑每秒 或半秒 的最大幅度数据 然后我可以使用这些数据创建
  • 使用 ACTION_IMAGE_CAPTURE 拍照并 setImageBitmap 来显示它

    编辑我更新了代码以反映两个答案中建议的更改 不幸的是 现在我的应用程序强制关闭 错误列在底部 这是我的相机 图片类的全部内容 除了imports 这个类应该拍摄一张照片 将其显示到屏幕上 并让另一个类拥有图片的字符串路径以用作附件 它拍摄的
  • 在 Java/JRI 代码中加载 R 自己创建的库时出现问题

    我创建了自己的新 R 库 称为 Media 当我尝试用RGui加载它时没有问题 并且可以调用新包中定义的函数 这就是我加载它的方式 gt library Media 但是 我也尝试从以下位置调用该函数Java JRI http www rf
  • 验证器:禁用客户端时,它们在回发时是否保持禁用状态?

    我一直在学习很多关于标准 asp net 验证器的知识 我最新的发现是关于如何禁用验证器客户端 这非常酷 现在 如果我的初始帖子启用了验证器 但在客户端 我禁用它 服务器端是否识别客户端更改并保留它 或者在页面发送回用户时重新启用它 Tha
  • 如何在我的请求中使用从 Twitter OAuth 1.0a 获得的“用户上下文访问令牌”?

    我已经成功 实现了 Twitter 三足身份验证过程来获取用户访问令牌 问题是访问令牌似乎无效 或者我使用错误 我已经能够获取应用程序的访问令牌 它可以访问有限的 Twitter API 我通过在标题上添加 身份验证 承载 访问令牌 来使用
  • 来自响应内容流的 Pandas 0.25.0 和 xlsx

    r requests get projectsExportURL auth username password verify False stream True r raw decode content True add snapshot
  • 从 Django 1.7.1 升级到 1.8.2 失败

    我的 Django 1 7 1 应用程序运行良好 但我想升级到更新的版本 1 8 2 我正在按照说明进行操作here https docs djangoproject com en 1 8 howto upgrade version 基本上
  • 如何在提交后的钩子脚本中获取项目路径?(git)

    我想调用位于存储库中的脚本 我当然可以执行以下操作 bin sh myscript sh 但我认为这不太好 那么如何在提交后脚本中获取项目的路径呢 When you re dealing with a non bare repository