如何将 git diff 输出拆分为单独的文件

xpt*_*xpt 5 git git-diff

我想将 git diff 输出分割成单独的文件。

假设有三个已更改的文件。git diff将输出所有三个差异一次,但是有没有办法将它们分成三个单独的差异文件?

lxv*_*xvs 7

一个简单的 bash 脚本示例。

#!/bin/bash
git diff --name-only | while read p
do
    git diff -- "$p"
    # do something...
done
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,您确实应该在路径之前添加 `--` (如 `git diff -- "$p"` 中),因为在脚本化上下文中,您不知道可能会偶然发现哪些文件名可能会使命令含糊不清。 (4认同)