Git:检索用于缓存清除目的的短提交哈希

mic*_*d82 1 git web-deployment ubuntu-12.04

我想使用git hash来缓存目的.

我的部署脚本将在git中查找特定文件,并将使用上次提交文件更改时的简短版本.这意味着每个文件的缓存清除字符串仅在必要时更改.

到目前为止,我有以下命令,它接近但不太正确:

git log -n 1 --abbrev-commit --pretty=oneline htdocs/js/sample.js
Run Code Online (Sandbox Code Playgroud)

返回:

21b1991 Commit message here
Run Code Online (Sandbox Code Playgroud)

我可以为提交哈希解析该字符串,但如果可能的话我宁愿不这样做.

我想让git返回:

21b1991
Run Code Online (Sandbox Code Playgroud)

我当然希望解决方案继续工作,如果git在发出命令时开始返回不同长度的哈希.我也不太反对使用完整哈希,但我觉得这不是必要的.

部署将基于git,并在Ubuntu 12.04 TLS系统上进行.

建议?

nao*_*omi 6

尝试--pretty=format:%h而不是--abbrev-commit --pretty=oneline

例如

git log -n 1 --pretty=format:%h htdocs/js/sample.js
Run Code Online (Sandbox Code Playgroud)