首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在将文件添加到暂存区域之前运行git钩子

在将文件添加到暂存区域之前运行git钩子
EN

Stack Overflow用户
提问于 2022-09-23 19:07:38
回答 1查看 33关注 0票数 -1

我有一个项目,它使用更漂亮的格式。我希望我的远程代码存储库拥有格式一致的文件。由于这个原因,我在package.json文件中添加了一个脚本,它将把整个代码基格式化为一行命令(npm run format)。

这行得通!但问题是,有时我可能忘记将git push之前的代码格式化为远程存储库。而且,为了格式化代码,我也不愿意用不必要的提交来乱搞我的git历史记录。

我决定自动化并选择git挂钩,这将在每次向暂存区域添加文件时格式化我的代码库:npm run format。但我似乎没有为我的用例找到一个git挂钩。

是否有可以在暂存文件之前运行的钩子?

EN

回答 1

Stack Overflow用户

发布于 2022-09-23 21:09:32

没有这样的吉特钩。但是,如果要处理格式设置,则有两个选项。

一种是在提交之前使用pre-commit钩子检查文件。这不会阻止您添加它们,但它将阻止您提交它们。但是,如果您使用一些高级工作流,使用许多临时和修复提交的高级工作流,那么pre-commit挂钩可能会非常麻烦。

另一种选择是使用干净的过滤器。您可以在.git/info/attributes文件中创建如下模式:

代码语言:javascript
运行
复制
src/**/*.js filter=prettier

然后可以将以下内容添加到.git/config

代码语言:javascript
运行
复制
[filter "prettier"]
smudge = cat
clean = "YOUR-PRETTIER-COMMAND-HERE"

您可以用一个命令替换YOUR-PRETTIER-COMMAND-HERE,该命令从标准输入读取文件,并以适当的格式将其写入标准输出。(不可能使用在文件系统上设置格式的程序。)它将在运行JavaScript时通过该过滤器自动运行git add文件,并以正确的格式将它们存储在存储库中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73831997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档