如何获取项目中所有 git 个存储库头的提交 ID?
How to get the commit id of all git repository heads inside a project?
假设目录名称 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)
}'
脚本遍历ABC
下的所有.git
,假设它们都是git存储库,在每个存储库中运行git rev-parse HEAD
以获得head提交,并打印存储库文件夹和 SHA1 值。
参考:
假设目录名称 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)
}'
脚本遍历ABC
下的所有.git
,假设它们都是git存储库,在每个存储库中运行git rev-parse HEAD
以获得head提交,并打印存储库文件夹和 SHA1 值。
参考: