预提交仅列出合并中已解决冲突的文件

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

我的 Git 存储库中有一个预提交挂钩,它对提交中受影响的每个

.php
文件运行 lint 检查。但是,此挂钩也会在合并提交期间运行,影响合并中修改的所有文件。通常,当将主分支与大量文件更改合并时,会对这些文件运行 lint 检查,这可能是不切实际的。

我的目标是维护合并提交的 lint 检查,但我只希望检查在已解决冲突的文件或用户在合并期间明确编辑的文件上运行。换句话说,我想排除对属于合并一部分但没有任何用户启动的更改的所有文件进行 lint 检查。

目前,我正在使用以下 git diff 命令列出用于 linting 的文件:

git diff --cached --name-only --diff-filter=ACM -- '*.php'

有没有办法修改此命令或调整我的预提交挂钩以实现所需的行为?我想保持代码质量,同时在合并提交期间提高流程效率。

git githooks git-diff pre-commit
1个回答
0
投票

我可能错了但是认为

git show --pretty='' --name-only --diff-filter=ACM <some-merge-commit>
只会列出合并提交本身引入了一些更改的文件。

© www.soinside.com 2019 - 2024. All rights reserved.