如何在 powershell 中为每个 git 子模块运行命令?

Jus*_*808 8 git powershell powershell-2.0

我有一个元项目,其中包含许多子模块。我想在某种 foreach 循环中运行以下几行。

cd $subDirectory
"\n\nModule $subDirextory" >> log
git log --pretty=format:"%h%x09%an%x09%ad%x09%s" origin/${Branch}..HEAD >> log
cd ..
Run Code Online (Sandbox Code Playgroud)

这个想法是为元存储库中的每个子模块获取从最后一个分支点到 HEAD 的日志。我该怎么做呢?

Chr*_*ial 8

您正在寻找的命令可能是:

\n\n
git submodule foreach \'git log --pretty=format:"%h%x09%an%x09%ad%x09%s" @{u}..HEAD\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

git submodule foreach将循环遍历所有子模块,cwd 进入它们并运行给定的命令。在执行此操作之前,它还会输出每个子模块的名称。

\n\n

@{u}指当前签出分支的远程跟踪分支。

\n\n

I\xe2\x80\x99m 不确定的部分是在 PowerShell 中引用。上面给出的命令将在 bash 中运行。您必须确保自己的部分\'传递到 git 而不进行任何修改。

\n