使用多个命令是巡航控制中的一个参数

本文关键字:一个 参数 命令 控制 | 更新日期: 2023-09-27 17:58:45

我一直在尝试使用Git为项目创建一个构建,我需要执行多个Git命令作为参数,在那里我可以获得修改过的文件的列表,并将它们放置为zip。下面是配置片段

<exec>
        <executable>C:'Program Files (x86)'Git'bin'git.exe</executable>
        <baseDirectory>C:'myprojectC</baseDirectory>
        <buildArgs>archive -o update.zip HEAD $(git diff --name-only master)</buildArgs>        
</exec>   

有人能帮我找零吗。

使用多个命令是巡航控制中的一个参数

如果您使用配置预处理器进行巡航控制,则$是一个对预处理器有意义的特殊字符,但它可以转义:

'$是您需要使用的转义序列,因此允许您通过巡航控制执行与在命令提示符中执行的命令完全相同的命令。

因此,您可以使用以下内容:

<exec>
 <executable>C:'Program Files (x86)'Git'bin'git.exe</executable>
 <baseDirectory>C:'myprojectC</baseDirectory>
 <buildArgs>archive -o update.zip HEAD '$(git diff --name-only master)</buildArgs>      
</exec>