我想检查在 Gitlab CI 的 git 分支中更改的预提交文件。 --from-ref
我需要使用什么参数?
pre-commit run --from-ref=? --to-ref=HEAD
pre-commit
文档中的示例会引发错误。
$ pre-commit run --from-ref=origin/HEAD --to-ref HEAD
An unexpected error has occurred: CalledProcessError: command: ('/usr/bin/git', 'diff', '--name-only', '--no-ext-diff', '-z', 'origin/HEAD...HEAD')
return code: 128
expected return code: 0
stdout: (none)
stderr:
fatal: ambiguous argument 'origin/HEAD...HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
最佳答案
我在为 GitLab CI/CD 管道开发预提交阶段时遇到了同样的问题。似乎 GitLab CI/CD 运行器不会自动获取 origin/master
分支,导致 fatal: ambiguous argument 'origin/HEAD...HEAD': unknown revision or path不在工作树中。
错误。
我的解决方法是手动获取 origin
:
git fetch origin;
pre-commit run --from-ref "origin/$CI_DEFAULT_BRANCH" --to-ref "$CI_COMMIT_SHA";
关于gitlab - 如何为 Gitlab 指定 pre-commit --from-ref?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68818854/