【发布时间】:2019-12-04 19:08:01
【问题描述】:
假设我有两个提交 ID:ba8a919 和 c15a66b,我怎么知道哪个是最新的?
【问题讨论】:
-
最新怎么定义?
-
最新的提交日期
假设我有两个提交 ID:ba8a919 和 c15a66b,我怎么知道哪个是最新的?
【问题讨论】:
使用git log 获取提交日期。 -1 将输出限制为一行
git log -1 --pretty="%h %cd" ba8a919
git log -1 --pretty="%h %cd" c15a66b
你可以做一些花哨的事情..
ONE=ba8a919
TWO=c15a66b
if [[ `git log $ONE..$TWO` == "" ]]; then
echo $TWO is newer
else
echo $ONE is newer
fi
【讨论】:
为了简单起见,
git log -1 ba8a919 c15a66b
也可以,因为您要求两者同时输出,但将输出限制为一个。
它是双向的,当然,你可以喂
git log -1 c15a66b ba8a919
并且具有相同的输出,两者都是最新的。
脚本版本:如果您需要在脚本中使用它,将两个哈希作为参数并期望返回一个哈希,请选择管道对应:
git rev-list -1 <hash1> <hash2>
# returns the long-form hash of the latest one
【讨论】:
--author-date-order 将其更改为作者日期。请注意,--since 和 --until(或 --before 和 --after)始终使用提交者日期,无论排序顺序如何。