git - 将更改拉入空存储库时会调用什么 Git 挂钩?
问题描述
我试图了解如何使用 Git 本地挂钩。
我的目标是将分支的当前状态与收到的更新进行比较,然后在某个文件发生更改时执行一些 shell 命令。
我正在使用git diff-tree
命令来获得差异。
post-checkout
我对钩子没有任何问题。据我了解,post-checkout
钩子在克隆存储库或切换分支时调用。我只需要它来克隆,它工作正常。
但是post-merge
只有当存储库已经包含一些文件时才会触发钩子。如果我克隆一个空的存储库,然后将一些文件推送到源并将更改拉入克隆的存储库,则简单地忽略挂钩。
但是我事先不知道克隆的存储库是空的还是包含一些文件,所以我需要处理这两种情况。
当更改被拉入一个空的存储库时,是否有一个特定的 Git 钩子可以工作,或者我应该以其他方式处理问题?
解决方案
推荐阅读
- python - 使用 psutil 从 python 中的 scputimes 元组中提取某些值
- c - mclr 使用#pragma 重置系统图片
- python - libGL.so.1:无法打开共享对象文件:没有这样的文件或目录
- javascript - TypeError:无法解构“props.message”的属性“text”,因为它未定义
- python - Django - 基于多个属性的重复数据删除
- three.js - 三个js加载管理器。如何使用单独的回调创建单独的组?
- mongodb - 如何使用聚合构建复杂的过滤器查询。蒙古数据库
- javascript - d3.js 中的转换挂断
- mysql - 如何在我的条件使用同一表的另一行数据的情况下获取数据?
- javascript - 我什么时候需要在 javascript 中创建新的 Promise 而不是获取它们?