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

参考地址:链接

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐