繁体   English   中英

有没有办法在预提交挂钩期间 git add 文件?

[英]Is there a way to git add a file during a pre-commit hook?

在我们的预提交挂钩期间,我添加了一个额外的命令来运行,如果发生了某些其他更改,它可能会导致修改或新文件。 我很好奇是否有可能在此预提交挂钩期间将此文件添加到要提交的更改中? 我尝试了一些幼稚的方法,例如在 pre-commit 钩子中的命令之后调用文字“git add fileName”,但它似乎不起作用。 这甚至可能吗?

看起来在这个问题中发现了一些解决方法,建议对现有文件使用git add -u 然而,更改源代码甚至只是配置文件可能不是一个好主意,因为您的提交挂钩可能会悄悄地引入新的错误或意外行为。

您可以通过在每次提交时运行 linter、静态代码分析、运行测试或重新编译受影响的源代码来缓解这种情况,如果其中任何一个报告新错误,则提交失败,但这显然会为每次提交引入大量多余的计算时间并且需要时间来实施,所以这也可能不是一个好主意。

我建议让预提交检测何时需要修改或创建文件并通知用户,同时指定需要运行哪些命令或脚本以正确准备提交的暂存更改。 在向流程中添加一个或多个手动步骤时,这将使您有机会对版本号、代码样式、编译错误等进行任何必要的检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM