在对本地工作区文件进行修改提交时,通常想对修改的文件进行一些验证,那么如何获取到 git 修改的文件呢?
代码
这里直接使用 git diff
即可以获取到我们想要的数据。
更多配置以及如何筛选获取到的文件呢?
--name-only
仅显示已更改文件的名称。可以用在在脚本中获取到修改的文件名,然后通过文件名拿到文件,对文件内容进行验证。
--diff-filter
对 git diff 中的文件进行筛选:
- A :添加
- C:复制
- D: 删除
- M:修改
- R:重命名
- T:更改类型(即常规文件、符号链接、子模块……)的文件
- U:未合并
- X:未知
- B:配对已损坏
- *:所有
比如这条命命:
git diff --name-only --diff-filter=AM
排除添加以及修改的变更文件,不包含删除的文件,避免之后的脚本对已删除的文件进行操作。
此外,这些大写字母可以小写以用来排除。例如:
--diff-filter=ad
排除添加和删除的文件操作。
参考地址:链接