2016-04-15 6 views
1

私はgitのから更新できるようにしたいプログラムを構築しています。私はraw.githubusercontent.comとファイルを比較することができます。ただし、ファイルが変更されたのではなく、リポジトリに追加された場合、プログラムはそのURLを確認することを知らせません。 GitHubからリポジトリ内のすべてのファイルのリストを確認する方法はありますか?私は分散プログラムで私のAPIトークンを含めたい、または自分のGitHubのアカウントを持っているユーザーを強制しないのでところでGitHubのはraw.githubusercontentからリポジトリ内のすべてのファイルのリストを取得しますか?

、私はGitHubのAPIを使用していません。トークンを含めずにgitからリポジトリをダウンロードする方法があれば、それも解決策として受け入れます。

+0

このような方法があるので、プログラムは 'git'と呼ばれています。 –

+0

私はこれをPythonプログラム内で使用しようとしています。あなたがこの質問を読んだら、gitを使わずに、プログラム内から個々のファイルにアクセスしようとしていることを知っているでしょう。 –

答えて

3

Gitはgit-ls-remoteを提供していますが、ディレクトリのリストを取得するには、その機能を使用することはできません。 ので、リストを取得する唯一の方法は、GithubのAPIまたはWebインタフェースを使用しています。

$ curl https://api.github.com/repos/lassana/continuous-audiorecorder/contents/ 
[ 
    { 
    "name": ".gitignore", 
    "path": ".gitignore", 
    "sha": "7f6dd1b098cedd0b87abcdf09e5d638d49dbd312", 
    "size": 338, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/.gitignore?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/.gitignore", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/7f6dd1b098cedd0b87abcdf09e5d638d49dbd312", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/.gitignore", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/.gitignore?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/7f6dd1b098cedd0b87abcdf09e5d638d49dbd312", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/.gitignore" 
    } 
    }, 
    { 
    "name": "LICENSE", 
    "path": "LICENSE", 
    "sha": "9be97c167682f638144ea1fe1b3d756394a91c37", 
    "size": 1304, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/LICENSE?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/LICENSE", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/9be97c167682f638144ea1fe1b3d756394a91c37", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/LICENSE", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/LICENSE?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/9be97c167682f638144ea1fe1b3d756394a91c37", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/LICENSE" 
    } 
    }, 
    { 
    "name": "README.md", 
    "path": "README.md", 
    "sha": "2b8fd57a2ec70af5fbfcf3c1377217e3f99b880c", 
    "size": 2108, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/README.md?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/README.md", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/2b8fd57a2ec70af5fbfcf3c1377217e3f99b880c", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/README.md", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/README.md?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/2b8fd57a2ec70af5fbfcf3c1377217e3f99b880c", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/README.md" 
    } 
    }, 
    { 
    "name": "build.gradle", 
    "path": "build.gradle", 
    "sha": "f7a7ae7e2e8d616549aa5f3dcb92fb6986d58420", 
    "size": 99, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/build.gradle?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/build.gradle", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/f7a7ae7e2e8d616549aa5f3dcb92fb6986d58420", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/build.gradle", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/build.gradle?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/f7a7ae7e2e8d616549aa5f3dcb92fb6986d58420", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/build.gradle" 
    } 
    }, 
    { 
    "name": "drone-io.sh", 
    "path": "drone-io.sh", 
    "sha": "171868e680890535aa3006dafa885f36a1ba4c8b", 
    "size": 660, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/drone-io.sh?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/drone-io.sh", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/171868e680890535aa3006dafa885f36a1ba4c8b", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/drone-io.sh", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/drone-io.sh?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/171868e680890535aa3006dafa885f36a1ba4c8b", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/drone-io.sh" 
    } 
    }, 
    { 
    "name": "gradle", 
    "path": "gradle", 
    "sha": "f41799c99d13e934de8e71fc039ee5982ed89875", 
    "size": 0, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/gradle?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/tree/master/gradle", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/trees/f41799c99d13e934de8e71fc039ee5982ed89875", 
    "download_url": null, 
    "type": "dir", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/gradle?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/trees/f41799c99d13e934de8e71fc039ee5982ed89875", 
     "html": "https://github.com/lassana/continuous-audiorecorder/tree/master/gradle" 
    } 
    }, 
    { 
    "name": "gradlew", 
    "path": "gradlew", 
    "sha": "91a7e269e19dfc62e27137a0b57ef3e430cee4fd", 
    "size": 5080, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/gradlew?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/gradlew", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/91a7e269e19dfc62e27137a0b57ef3e430cee4fd", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/gradlew", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/gradlew?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/91a7e269e19dfc62e27137a0b57ef3e430cee4fd", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/gradlew" 
    } 
    }, 
    { 
    "name": "gradlew.bat", 
    "path": "gradlew.bat", 
    "sha": "8a0b282aa6885fb573c106b3551f7275c5f17e8e", 
    "size": 2314, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/gradlew.bat?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/gradlew.bat", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/8a0b282aa6885fb573c106b3551f7275c5f17e8e", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/gradlew.bat", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/gradlew.bat?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/8a0b282aa6885fb573c106b3551f7275c5f17e8e", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/gradlew.bat" 
    } 
    }, 
    { 
    "name": "recorder", 
    "path": "recorder", 
    "sha": "6ef2ce50d4304ab2e5a069d494a3061ea49b08fc", 
    "size": 0, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/recorder?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/tree/master/recorder", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/trees/6ef2ce50d4304ab2e5a069d494a3061ea49b08fc", 
    "download_url": null, 
    "type": "dir", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/recorder?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/trees/6ef2ce50d4304ab2e5a069d494a3061ea49b08fc", 
     "html": "https://github.com/lassana/continuous-audiorecorder/tree/master/recorder" 
    } 
    }, 
    { 
    "name": "sample", 
    "path": "sample", 
    "sha": "dd4460e7d22d1b4d5e659315e8bedd3de240dc3b", 
    "size": 0, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/sample?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/tree/master/sample", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/trees/dd4460e7d22d1b4d5e659315e8bedd3de240dc3b", 
    "download_url": null, 
    "type": "dir", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/sample?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/trees/dd4460e7d22d1b4d5e659315e8bedd3de240dc3b", 
     "html": "https://github.com/lassana/continuous-audiorecorder/tree/master/sample" 
    } 
    }, 
    { 
    "name": "settings.gradle", 
    "path": "settings.gradle", 
    "sha": "1a32e417c62b4ae544744249dcb4fecfa7b95fc8", 
    "size": 30, 
    "url": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/settings.gradle?ref=master", 
    "html_url": "https://github.com/lassana/continuous-audiorecorder/blob/master/settings.gradle", 
    "git_url": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/1a32e417c62b4ae544744249dcb4fecfa7b95fc8", 
    "download_url": "https://raw.githubusercontent.com/lassana/continuous-audiorecorder/master/settings.gradle", 
    "type": "file", 
    "_links": { 
     "self": "https://api.github.com/repos/lassana/continuous-audiorecorder/contents/settings.gradle?ref=master", 
     "git": "https://api.github.com/repos/lassana/continuous-audiorecorder/git/blobs/1a32e417c62b4ae544744249dcb4fecfa7b95fc8", 
     "html": "https://github.com/lassana/continuous-audiorecorder/blob/master/settings.gradle" 
    } 
    } 
] 
関連する問題