【问题标题】:Get SHA1 of latest remote commit [duplicate]获取最新远程提交的 SHA1 [重复]
【发布时间】:2013-01-03 08:18:30
【问题描述】:

可能重复:
git bash : how to check if there’s a new commit available

我正在编写一个脚本,我想将最新的本地提交与最新的上游提交进行比较,以便告诉用户有要提取的提交。

最新的本地提交 SHA 显示为 git log | head -n 1 | awk '{print $2}'。

是否有打印最新上游提交的 SHA1 的等效项?

【问题讨论】:

  • git rev-parse HEAD == git log | head -n 1 | awk '{print $2}'
  • 为了检查遥控器中的新提交,我使用这个git-prompt,这个lines make the job

标签: git bash


【解决方案1】:

当地负责人:

$ git rev-parse HEAD

遥控头:

$ git ls-remote <url> <refs>

显示远程存储库中可用的引用以及相关的提交 ID。

例子:

$ cd ~/github/scrapy/scrapy
$ git rev-parse HEAD
9f003a73daec59a73c23a2214b1b8d15a4391a2f
$ git ls-remote git://github.com/scrapy/scrapy.git HEAD
9f003a73daec59a73c23a2214b1b8d15a4391a2f

可以使用diff比较两者的输出:

$ diff <(git ls-remote git://github.com/scrapy/scrapy.git HEAD) \
       <(git rev-parse HEAD) 

【讨论】:

  • 有趣的是,ls-remote 的手册页字面意思是“提交 ID”——在传统的 git 术语中它们被称为 SHA。一定是早期的一些神器;)
  • +1 为简单起见... :->
猜你喜欢
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-15
  • 2012-01-01
相关资源
最近更新 更多