我正在尝试获取除合并提交之外的最后一次提交的Git提交哈希。
我了解以下命令获取HEAD的提交哈希:
git rev-parse HEAD --short
但是,如果最后一次提交是合并,那么我将获得该提交的哈希值。这是一个问题,因为我正在使用CI / CD工具用提交哈希标记工件,并且由于合并了“拉取请求”而没有任何区别。
有什么方法可以获取最后的代码更改提交?
答案 0 :(得分:1)
您可以使用以下命令获取提交的简短哈希值:使用格式和标志记录合并的最后一次提交:
git log -n 1 --no-merges --pretty=format:%h
工作方式:
git log -n 1
的最后一次提交(您也可以使用快捷键git log -1
,但我认为它的可读性较差)--no-merges
标志,'%h'
代表documentation中的缩写提交哈希)。为什么以前的answer和git rev-list
不适合我?因为当我需要短时它会显示长哈希(我认为主题作者也需要它,因为他尝试使用--short
标志)。
我可以使用与git log
命令相同的方式添加格式:
git rev-list --no-merges -n 1 --pretty=format:%h HEAD
但是它会在下面记录长哈希和短哈希。
答案 1 :(得分:0)
经过研究,该命令将接受最新的提交排除合并
git rev-list --no-merges -n 1 HEAD