假设我有一个使用特定提交哈希(即git checkout commitHash
)部署的在线应用程序。
给定一个特定的分支,我想检查另一个提交哈希是否在部署的提交哈希之前。最好的方法是什么?是否有一个 git 命令或 shell 脚本可以在其中提供两个哈希值并且它可以告诉我?
上下文:我本质上是想检查是否为特定环境部署了特定的提交哈希。
您可以使用git log
with ..
notation。
git log <hashA>..<hashB>
如果 <hashA> 在 <hashB> 之前,这将给出输出,但如果 <hashB> 在 <hashA> 之前,它将没有输出。(与您的情况一样,这是假设修订版位于同一分支上)。
更正式地<hashA>..<hashB>
说,包括可从 <hashB> 访问的提交(通过父引用),但不包括可从 <hashA> 访问的提交。gitrevisions手册页有更多信息。