【问题标题】:How to run astyle over the list of files specified by git diff --name-only如何在 git diff --name-only 指定的文件列表上运行 astyle
【发布时间】:2021-11-16 02:11:14
【问题描述】:

运行 git diff --name-only 会给我一个这样的文件列表

file1
file2

Astyle 的用法是这样的

astyle.exe --options=myoptionsfile <file1> <file2>

我想要一种将git diff --name-only 的输出作为astyle 程序调用中指定的文件列表的方法,而不是手动指定每个文件。

有人知道怎么做吗?

【问题讨论】:

    标签: git shell astyle


    【解决方案1】:

    也适用于 Bash:

    astyle.exe --options=myoptionsfile $(git diff --name-only)
    

    $()command substitution

    【讨论】:

    • git diff --name-only 将返回多行输出。为了使上述工作,需要从f1\nf2 转换为f1 f2。考虑到这在 Windows 上运行,shell 之间的行为非常不一致......这可能有点挑战。
    • @azbarcea 我提到了bash,它会自动执行此操作。试试echo $(git diff --name-only)
    【解决方案2】:

    在 Windows 上使用 Git Bashcygwin 或任何 linux 模拟器怎么样:

    git diff --name-only | xargs astyle.exe --options=myoptionsfile
    

    你也可以using Powershell

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-21
      • 2015-03-22
      • 2020-09-06
      • 2019-09-21
      相关资源
      最近更新 更多