11

GitHub API 経由で GitHub リポジトリのルート :tree_sha を取得するにはどうすればよいですか?

GitHib API のヘルプ ページには、この重要な情報が説明されていないようです。

http://develop.github.com/p/object.html

ツリー SHA によってツリーの内容を取得できます

ツリー/表示/:ユーザー/:レポ/:tree_sha

コミット リストから facebox プロジェクトのルート ツリーのリストを取得するには、次のように呼び出します。

$ curl http://github.com/api/v2/yaml/tree/show/defunkt/facebox/a47803c9ba26213ff194f042ab686a7749b17476

4

3 に答える 3

10

各コミットには、そのコミット時点でのツリー全体の sha が含まれています。masterAPI を使用して、ブランチを表す JSON オブジェクトを取得します。

https://api.github.com/repos/:owner/:repo/branches/master

そのブランチの最後のコミットには、あなたが求めていると思われるツリーの sha が含まれています。

このコードはhead_tree_sha、Python で を取得する方法を示しています。

import requests
token = '0...f'
key = {'Authorization':'token '+token}
master = requests.get('https://api.github.com/repos/'+owner+'/' + repo '/branches/master', headers=key)
master = master.json()
head_tree_sha = master['commit']['commit']['tree']['sha']

https://developer.github.com/v3/git/commits/

于 2014-08-04T22:04:05.410 に答える
5

http://develop.github.com/p/commits.html

コミットはあなたにそのツリーshaを伝えます。

[編集]
サブフォルダーのツリーshaを、関心のあるフォルダーの親フォルダーにcdして実行する場合は、次のようにします。
git ls-tree HEAD

ルートツリーshaが必要な場合:
git show HEAD --format=raw
1行目にコミットsha
があります2行目にツリーshaがあります

于 2010-05-14T09:40:38.933 に答える
1

GitHub API についてはよくわかりませんが、ハッシュだけが必要な場合は、クローンで次のコマンドを使用できます。

git show HEAD --format=%T | head -1

または%t、省略されたハッシュに使用します。

于 2013-03-18T06:02:04.723 に答える