从远程仓库获取最后一次提交哈希而不进行克隆

use*_*812 12 git github

我想获得在远程仓库中发生的最后一次提交的哈希,而不是克隆它.有没有办法做到这一点 ?我找到了几种方法,但是为了使它们全部工作,我需要首先克隆repo,然后发出命令以获取最后一次提交哈希.

有没有办法可以从远程git获取最后一次提交哈希而不克隆它?

注意:

gtu*_*rri 32

$ git ls-remote https://github.com/gturri/dokuJClient.git 
2fb540fc8c7e9116791638393370a2fa0f079737    HEAD
2fb540fc8c7e9116791638393370a2fa0f079737    refs/heads/master
Run Code Online (Sandbox Code Playgroud)

此命令可以从任何目录运行.

如果你只想要最后一个sha1,例如在脚本中使用它,你可以这样做:

git ls-remote https://github.com/gturri/dokuJClient.git HEAD | awk '{ print $1}'
Run Code Online (Sandbox Code Playgroud)

  • 我会将 `awk '{ print $1}'` 替换为 `cut -f1`,因为 `awk` 比 `cut` 重。 (4认同)
  • 要仅获取HEAD(或某个分支),您可以执行git ls-remote https://github.com/gturri/dokuJClient.git awk'{print $ 1}'`不需要grep (3认同)