如何只获取要在预提交挂钩中处理的文件的更改部分?

问题描述 投票:2回答:2

我在预提交挂钩中使用了以下shell脚本,以仅获取要在git中提交的cpp文件的修改行。但是它提供了更改了行数的整个文件。我如何只获取文件的更改行以进行预提交检查。

这是我使用的脚本:

changed_files=$(git diff-index --cached $against | \
    grep -E '[MA]   .*\.(c|cpp|cc|cxx)$' | cut -f 2)
bash git shell pre-commit-hook
2个回答
2
投票

[git diff git diff应该只向您显示分阶段的更改。


1
投票

如果已暂存该文件(即已为--cached,则可以使用git addgit diff --staged(都是同义词)。

如果您暂存了多个文件,则可以使用git diff --cached指定要查看的文件。

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