带可能前缀的grep SHA-1哈希

bli00

我想从git submodule status <PATH>子模块的SHA-1提交哈希值grep 根据git submodule --help

状态[-缓存] [-递归] [-] [...]

显示子模块的状态。这将为每个子模块打印当前已检出提交的SHA-1,以及子模块路径和SHA-1的git describe输出。如果未初始化子模块,则每个SHA-1可能都带有-前缀;如果当前签出的子模块提交与包含的存储库的索引中找到的SHA-1不匹配,则+;如果子模块具有合并冲突,则前缀U。

所以结果看起来像这样:

 f1eeb6aa2a5009b5ef68b5b754499dcb3ab575d1 my-submodule (remotes/origin/HEAD)

描述中提到,每个散列都可能以a+或a为前缀-我对这些标志不感兴趣,因此,无论它给我什么结果,我都希望获得不带前缀的40个字符的哈希。

例:

input: +f1eeb6aa2a5009b5ef68b5b754499dcb3ab575d1 my-submodule (remotes/origin/HEAD)
desired output: f1eeb6aa2a5009b5ef68b5b754499dcb3ab575d1

input: f1eeb6aa2a5009b5ef68b5b754499dcb3ab575d1 my-submodule (remotes/origin/HEAD)
desired output: f1eeb6aa2a5009b5ef68b5b754499dcb3ab575d1

我已经尝试过类似的方法,awk '{print $1;}' | grep -e '[0-9a-f]\{40\}'但是它似乎并没有删除前缀。有什么优雅的解决方案吗?

吉尔

我想从git submodule status <PATH>子模块的SHA-1提交哈希值grep

为什么要经过旋转?只需直接问您想要什么:

git rev-parse :<PATH>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章