我有一个元项目,其中包含多个子模块。我想在某种foreach循环内运行以下代码:
cd $subDirectory
"\n\nModule $subDirextory" >> log
git log --pretty=format:"%h%x09%an%x09%ad%x09%s" origin/${Branch}..HEAD >> log
cd ..
这个想法是获取元仓库中每个子模块从最后一个分支点到HEAD的日志。我该如何操作?
我有一个元项目,其中包含多个子模块。我想在某种foreach循环内运行以下代码:
cd $subDirectory
"\n\nModule $subDirextory" >> log
git log --pretty=format:"%h%x09%an%x09%ad%x09%s" origin/${Branch}..HEAD >> log
cd ..
这个想法是获取元仓库中每个子模块从最后一个分支点到HEAD的日志。我该如何操作?
git submodule foreach 'git log --pretty=format:"%h%x09%an%x09%ad%x09%s" @{u}..HEAD'
git submodule foreach
将循环遍历所有子模块,进入它们并运行给定的命令。在执行操作之前,它还会输出每个子模块的名称。
@{u}
指的是当前检出分支的远程跟踪分支。
我不确定的部分是在 PowerShell 中引用的问题。上面给出的命令将在 bash 中运行。您必须自己确保 '
中的部分未被修改地传递给 git。
git reset
可能不适用,请参见:https://dev59.com/pWgv5IYBdhLWcg3wBMOg#27415757 - Top-Master