バナー画像

GitHubでのダウンロードについてまとめています。

GitHubからgit cloneでソースをダウンロードする方法

GitHubに公開されているソースコードをダウンロードする方法は、ローカル環境でgit cloneを実行することです。

最新のソースコードがまとめて複製されるほか、タグやコミット情報などのgit情報付きで「リポジトリ」としてローカル環境に複製を作ることができます。

リポジトリのページにて、Codeをクリックし、Codeボタンにて、「HTTPS」を選び、クリップボードマークをクリックします。これで、git cloneで使用する文字列がクリップボードにコピーされます。

関連)google-research/bert: TensorFlow code and pre-trained models for BERT

ローカルの開発環境にて、git cloneの後に、先ほどコピーした文字列をペーストします。ダウンロードにはしばらく時間がかかります。

$ git clone https://github.com/google-research/bert.git
Cloning into 'bert'...
remote: Enumerating objects: 340, done.
remote: Total 340 (delta 0), reused 0 (delta 0), pack-reused 340
Receiving objects: 100% (340/340), 328.28 KiB | 43.00 KiB/s, done.
Resolving deltas: 100% (182/182), done.

複製したソースコードを確認してみましょう。git cloneを実行したディレクトリ以下に、リポジトリ名「bert」が作成されています。bert以下には、ソースコードやライセンス表記、READMEなどが複製されています。

$ ls
bert

$ cd bert
$ ls
CONTRIBUTING.md
LICENSE
README.md
__init__.py
create_pretraining_data.py
extract_features.py
modeling.py
modeling_test.py
multilingual.md
optimization.py
optimization_test.py
predicting_movie_reviews_with_bert_on_tf_hub.ipynb
requirements.txt
run_classifier.py
run_classifier_with_tfhub.py
run_pretraining.py
run_squad.py
sample_text.txt
tokenization.py
tokenization_test.py

このディレクトリはリポジトリ(.gitディレクトリがありgit情報が保管されている)なので、gitコマンドが実行可能です。

GitHubからzipファイルでダウンロードする方法

GitHubからzip形式でファイルをダウンロードすることも可能です。

リポジトリのページにて、Codeをクリックし、Codeボタンの「Download ZIP」を右クリックして「リンクアドレスをコピー」します。Windowsなら単にクリックしてダウンロードしても良いでしょう。

ターミナルにwget(ウェブからファイルをダウンロードするコマンド)に続けて、リンクアドレスを貼り付けます。

$ wget https://github.com/google-research/bert/archive/refs/heads/master.zip
--2021-06-23 19:53:18--  https://github.com/google-research/bert/archive/refs/heads/master.zip
github.com (github.com) をDNSに問いあわせています... 52.69.186.44
github.com (github.com)|52.69.186.44|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://codeload.github.com/google-research/bert/zip/refs/heads/master [続く]
--2021-06-23 19:53:18--  https://codeload.github.com/google-research/bert/zip/refs/heads/master
codeload.github.com (codeload.github.com) をDNSに問いあわせています... 52.68.31.213
codeload.github.com (codeload.github.com)|52.68.31.213|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [application/zip]
`master.zip' に保存中

master.zip              [ <=>             ] 106.44K  --.-KB/s    時間 0.08s

2021-06-23 19:53:19 (1.32 MB/s) - `master.zip' へ保存終了 [108997]

しばらく時間がかかり、master.zipというファイルがダウンロードされました。unzipコマンドで解凍すると、ソースファイルが現れました。

$ unzip master.zip
Archive:  master.zip
eedf5716ce1268e56f0a50264a88cafad334ac61
   creating: bert-master/
  inflating: bert-master/.gitignore
  inflating: bert-master/CONTRIBUTING.md
  inflating: bert-master/LICENSE
  inflating: bert-master/README.md
  inflating: bert-master/__init__.py
  inflating: bert-master/create_pretraining_data.py
  inflating: bert-master/extract_features.py
  inflating: bert-master/modeling.py
  inflating: bert-master/modeling_test.py
  inflating: bert-master/multilingual.md
  inflating: bert-master/optimization.py
  inflating: bert-master/optimization_test.py
  inflating: bert-master/predicting_movie_reviews_with_bert_on_tf_hub.ipynb
  inflating: bert-master/requirements.txt
  inflating: bert-master/run_classifier.py
  inflating: bert-master/run_classifier_with_tfhub.py
  inflating: bert-master/run_pretraining.py
  inflating: bert-master/run_squad.py
  inflating: bert-master/sample_text.txt
  inflating: bert-master/tokenization.py
  inflating: bert-master/tokenization_test.py

解凍するとbert-masterとういファイル以下にソースコードが展開されます。

$ ls
bert-master master.zip
$ ls
CONTRIBUTING.md
LICENSE
README.md
__init__.py
create_pretraining_data.py
extract_features.py
modeling.py
modeling_test.py
multilingual.md
optimization.py
optimization_test.py
predicting_movie_reviews_with_bert_on_tf_hub.ipynb
requirements.txt
run_classifier.py
run_classifier_with_tfhub.py
run_pretraining.py
run_squad.py
sample_text.txt
tokenization.py
tokenization_test.py

ただし、先ほどのgit cloneと違ってこのディレクトリは単にソースコードを展開しただけで「リポジトリ」ではありません。gitコマンドを実行しようとすると「not a git repository 」(gitのリポジトリではない)というエラーが出力されます。

$ git tag
fatal: not a git repository (or any of the parent directories): .git
$ git log
fatal: not a git repository (or any of the parent directories): .git

tagを指定して、過去のバージョンのソースコードを複製することも可能です。

【関連記事】
GitHubのtagはコミットにタグ付けする機能 タグ指定でのzipやgit cloneが可能

単一のファイルをダウンロードする方法

GitHubには、単一のファイルをダウンロードする機能はありません。しかし、少し工夫して単一ファイルのダウンロードが可能です。

リポジトリから、ダウンロードしたいファイルを開き、「Raw」をクリックします。ブラウザのURL欄にアドレスをコピーします。

端末にて、wgetに続けて、先ほどコピーしたアドレスを貼り付けます。

$ wget https://github.com/google-research/bert/blob/master/README.md
--2021-06-23 20:40:09--  https://github.com/google-research/bert/blob/master/README.md
github.com (github.com) をDNSに問いあわせています... 52.192.72.89
github.com (github.com)|52.192.72.89|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [text/html]
`README.md' に保存中

README.md               [  <=>            ] 225.73K   543KB/s    時間 0.4s

2021-06-23 20:40:10 (543 KB/s) - `README.md' へ保存終了 [231143]

$ ls
README.md

これで、GitHubのリポジトリの単一ファイルのダウンロードができました。

GitHubのダウンロードのまとめ

ポテパンダの一言メモ
  • git cloneでGitHubからリポジトリをまるごとダウンロードできる
  • リポジトリではなく、zip形式でのダウンロードも可能
  • ファイルをraw表示させwgetと組み合わせて単一ファイルのダウンロードが可能

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。