如何获取项目中所有git仓库负责人的提交ID?

问题描述

比方说目录名称ABC是我的项目,它不是git存储库。 在该目录ABC中,我有许多目录分别是git仓库。 而且我希望每个git仓库的负责人的提交ID都可以使用单个命令(repo或git命令)或脚本来实现。

谢谢。

解决方法

在Bash中,

find ABC -name .git | awk '{
    cmd = "GIT_DIR="$NF" git rev-parse HEAD"
    while ( ( cmd | getline result ) > 0 ) {
        print $NF,result
    }
    close(cmd)
}'

该脚本会迭代.git下的所有ABC,并假设它们都是git存储库,并在每个git rev-parse HEAD中运行firebase_auth: ^0.18.0+1 cloud_firestore: ^0.14.0+2以获得起始提交,并打印存储库文件夹和SHA1值

参考:https://stackoverflow.com/a/55278818/6330106