2013-08-30 55 views
0

通過克隆,我可以找到倉庫的HEAD並使用HEAD我可以在Egit中使用以下代碼在GITHUB中找到版本ID: - ObjectId revId = repository.resolve(Constants.HEAD); 如何通過僅知道我的GITHub存儲庫的URL來克隆整個存儲庫而無需克隆整個存儲庫的版本ID,因爲克隆整個存儲庫需要時間。如何查找Git倉庫的版本ID而無需在GITHUB中克隆

回答

3

在任何目錄下,你可以使用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,包括你在有趣的裁判
上面的例子名單refspecs包括'的SHA1。 master「或」 HEAD'

可以看到回購的HEAD‘git的’是4b5eac7 ...並且它對應於heads/master(這意味着遠程回購的HEAD是master分支)

該命令不需要克隆工作。

2

你說的是提交哈希?

您可以在「提交」頁面輕鬆查看。

爲AutoFixture

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

正如你所看到的,每次提交都有其右手邊散。主人的頭部散列是cdc59a9a4889504d882aaa47b222a0410174d917。對於HEAD^,它是ab05261e1d175d93f11ed37020f802933a20789c等等。

+0

不,這是所有提交done.I只是想知道我自己的存儲庫的修訂ID的無cloning.Is是可能的名單? – Alok

+0

@Alok:沒有修改ID的事情。請澄清你想知道的。 –

1

您可以從GitHub API獲取此信息。

該API提供了an endpoint to get all commits for a repository。在你的情況下, 你可以獲取有關分支上最近的提交。例如,對於 示例,此卷積請求將從rails/rails存儲庫的master 分支中提取最近的提交。

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

[ 
    { 
    "sha": "c52a4ae565671e3a3b1513a285dc887102d5eb15", 
    "commit": { 
     "author": { 
     "name": "Santiago Pastorino", 
     "email": "[email protected]", 
     "date": "2013-09-03T15:18:41Z" 
     }, 
     "committer": { 
     "name": "Santiago Pastorino", 
     "email": "[email protected]", 
     "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相同的信息:

Most recent commits on the master branch of rails/rails

+0

聽起來不錯。 +1。我的解決方案的唯一好處是它只列出頭部SHA1(而不是所有提交),並且適用於任何上游回購(而不僅僅是GitHub回購)。 – VonC