【问题标题】:How to split git diff output into individual files如何将 git diff 输出拆分为单个文件
【发布时间】:2021-02-24 23:47:46
【问题描述】:

我想将 git diff 输出拆分为单独的文件。

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

【问题讨论】:

  • 你可以在写着diff --git a/<filename> b/<filename>的那一行分割
  • 或者最好找出哪些文件被修改然后git diff每个文件单独修改。
  • 任何可以让我以这种方式进行拆分的命令,@wjandrea。 git diff 它们每个都可以单独用于三个更改的文件,但这只是一个示例。如果有几十个文件怎么办。我正在寻找一种自动方式,而不是手动方式
  • 我不知道有一个命令可以做到这一点,但你可以编写一个脚本。
  • 好的,我希望有一些现有的功能,比如将不同的提交拆分到各自的文件中......好吧。

标签: git git-diff


【解决方案1】:

一个简单的示例 bash 脚本。

#!/bin/bash
git diff --name-only | while read p
do
    git diff -- "$p"
    # do something...
done

【讨论】:

  • 在这种情况下,您确实应该在路径前放置一个--(如git diff -- "$p"),因为在脚本上下文中您不知道您可能会偶然发现哪些文件名可能会使命令模棱两可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-13
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多