Git 如何获取不同类型修改的文件

在Git中,可以使用`gitdiff`结合`--name-only`和`--diff-filter`参数来获取和筛选修改的文件。`--name-only`用于显示仅文件名,`--diff-filter`允许过滤不同类型的改动,如A(添加)、M(修改)、D(删除)等。通过设置过滤器,可以排除特定类型的变更,例如,`--diff-filter=AM`将包括添加和修改的文件,但排除删除的文件。
摘要由CSDN通过智能技术生成

在对本地工作区文件进行修改提交时,通常想对修改的文件进行一些验证,那么如何获取到 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 排除添加和删除的文件操作。

参考地址:链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值