2013-02-27 122 views
1

非常特殊的问题:我已经集成子模块,我让我的子模块的8字符长的引用由获取提交给定的SHA1的日期(子模块)提交

$ git ls-tree HEAD MY_SUBMODULE | awk '{print $3}' | cut -c -8 
03B446AB 

提交状态现在我想要得到的提交日期子模块,最好是格式为yyyy-mm-dd。你有一个想法如何处理这个

回答

2

您可以使用git show命令(用于提交者为准):

git --git-dir=/path/to/submodule/.git show --format="%ci" <commit> 

OP John Rumpel建议in the comments

git --git-dir=path/to/submodule/.git show --pretty=format:'%ad' --date=short <commit> 
# or 
git log --git-dir=path/to/submodule/.git --pretty=format:'%ad %h' --date=short | grep <commit> 
+0

感谢,但:无法识别的说法:/path/to/submodule/.git(替换为我的特定路径) – 2013-02-27 10:01:08

+0

@JohnRumpel对不起,' - git-dir'选项必须直接跟在'git'之后,而不是'git show'。我修复了这个错字。 – VonC 2013-02-27 10:27:16

+0

谢谢,这是一个很好的解决方案。通过git log |处理它更复杂grep | awk – 2013-02-28 13:19:52