3

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

4

3 回答 3

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

您可以通过这种方式看到 refspecs 的 SHA1,包括您感兴趣的 ref。
上面的示例列出了 refspecs 的 SHA1,包括 ' master' 或 ' HEAD'

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

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

于 2013-08-30T11:15:12.870 回答
2

你在谈论提交哈希吗?

您可以在“提交”页面上轻松查看它。

AutoFixture 示例:https ://github.com/AutoFixture/AutoFixture/commits/master

如您所见,每个提交在右侧都有其哈希值。master 的 HEAD 的哈希是cdc59a9a4889504d882aaa47b222a0410174d917. 因为HEAD^它是ab05261e1d175d93f11ed37020f802933a20789c等等。

于 2013-08-30T10:24:46.743 回答
1

您可以从 GitHub API 获取此信息。

API 提供了一个端点来获取存储库的所有提交。在您的情况下,您可以只获取相关分支上的最新提交。例如,此 curl 请求从存储库的master 分支中获取最近的提交。rails/rails

curl "https://api.github.com/repos/rails/rails/commits?sha=master&per_page=1"

[
  {
    "sha": "c52a4ae565671e3a3b1513a285dc887102d5eb15",
    "commit": {
      "author": {
        "name": "Santiago Pastorino",
        "email": "santiago@wyeworks.com",
        "date": "2013-09-03T15:18:41Z"
      },
      "committer": {
        "name": "Santiago Pastorino",
        "email": "santiago@wyeworks.com",
        "date": "2013-09-03T15:18:41Z"
      },
      "message": "Revert \"Merge pull request #12085 from valk/master\"\n\nThis reverts commit 15455d76c8d33b3767a61e0cdd2de0ff592098ef, reversing\nchanges made to ffa56f73d5ae98fe0b8b6dd2ca6f0dffac9d9217.",
      // ...
  }
]

在这个例子中,我们看到这c52a4ae565671e3a3b1513a285dc887102d5eb15是最近的提交。请注意,我们在 Web UI 中看到了相同的信息:

rails/rails 的 master 分支上的最新提交

于 2013-09-03T18:30:56.330 回答