如何在不克隆 GITHUB 的情况下查找 Git 存储库的修订 ID

Alo*_*lok 3 git github egit github-api jgit

通过克隆,我能够找到 git 存储库的 HEAD 并使用 HEAD 我可以使用 Egit 中的以下代码在 GITHUB 中找到修订 ID:- ObjectId revId = repository.resolve(Constants.HEAD); 如何在不克隆整个存储库的情况下通过只知道我的 GITHub 存储库的 url 来找到此修订 ID,因为克隆整个存储库需要时间。请建议。

Von*_*onC 7

从任何目录,您都可以使用git ls-remote

C:\Users\VonC\>git ls-remote https://github.com/git/git master

e230c568c4b9a991e3175e5f65171a566fd8e39c        refs/heads/master
4b5eac7f03f411f75087e0b6db23caa999624304        refs/remotes/github/master
4b5eac7f03f411f75087e0b6db23caa999624304        refs/remotes/origin/master

C:\Users\VonC\>git ls-remote https://github.com/git/git HEAD
e230c568c4b9a991e3175e5f65171a566fd8e39c        HEAD
4b5eac7f03f411f75087e0b6db23caa999624304        refs/remotes/origin/HEAD
Run Code Online (Sandbox Code Playgroud)

你可以这样看到 refspecs 的 SHA1,包括你感兴趣的 ref。
上面的例子列出了 refspecs 的 SHA1,包括 ' master' 或 ' HEAD'

您可以看到HEADrepo 'git' 的 4b5eac7 ... 它对应于heads/master(这意味着该远程 repo 的 HEAD 是master分支)

该命令无需克隆即可工作。