如何修改文件并在预推送钩子中提交,并且当前推送包含该提交?

问题描述 投票:0回答:1

我目前正在做一个前端项目,使用husky添加git hooks

我需要在每次代码推送之前更改 package.json 中的某些内容,然后我需要使当前推送包含此自动更改。

我现在使用 Husky 添加预推钩子,然后从钩子中执行以下操作:

  • 修改package.json文件
  • 运行 git add package.json
  • 运行 git commit -m “修改某些内容”
  • 执行 git push --no-verify

上面的步骤确实可以达到我的目的,但是每次推送都会提醒我,一次推送被拒绝了,这很糟糕,我该如何解决这个问题呢?我的最终目标仍然是在推送之前修改文件并确保当前推送包含更改并且不限于我当前的方法。

git web-frontend
1个回答
0
投票

您正在滥用 git-push hook。正如您可以在文档中阅读的那样 githooks:

此钩子由 git-push 调用,可用于防止发生推送。 [...]

您在推送历史记录时尝试修改历史记录超出了挂钩的范围。

如果您必须在推送历史记录之前对其进行更改,则将此过程放入对历史记录进行必要更改的脚本中,然后 then 调用

git push
作为最后一步。

仅将预推挂钩用于已记录的用途。这个特别是一个将存储库视为只读的钩子。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.