Google Colabを使い始めたばかりの頃は、Notebookの中にすべてを書いてしまいがちです。
しかし、少し規模が大きくなってくると、
- よく使うプログラム
- サンプルデータ
- 設定ファイル
- SQLファイル
などを毎回Notebookへ貼り付けるのが面倒になってきます。
そんなときに便利なのが、GitHubとの連携です。
本記事では、Google ColabからGitHubのリポジトリを取得する方法と、その活用例を紹介します。
対象読者
- GitHubは知っているが、Google Colabとの連携方法を知らない人
- 同じプログラムやデータを複数のNotebookで再利用したい人
- Notebookごとに同じコードをコピペしている人
- 毎回同じファイルのアップロードを繰り返している人
- Notebookが長くなり、どこに何があるかわからなくなってきた人
- ローカル環境を構築せずに、ブラウザだけで開発や分析を進めたい人
GitHubのリポジトリを取得する まずはパブリックリポジトリのgit clone
Google Colabでは、先頭に!をつけることで、Linuxコマンドが実行できるため、Gitコマンドも普通に実行可能です。
一例として、GitHub公式のHello Worldリポジトリをcloneしてみます。
!git clone https://github.com/octocat/Hello-World.git
左側のペインで、無事リポジトリの内容がとれていることがわかります。

パブリックに公開されているリポジトリであれば、必要なのはこれだけです。
プライベートリポジトリのgit cloneは?
プライベートリポジトリの場合は、トークン認証の情報を入れておくことで、git cloneができます。
左側ペインの「シークレット」から、Githubのトークンを設定しておくことで、セル内で使用できるようになります。
トークンを登録したら、セルで、次のコードの実行で、git cloneできます。
from google.colab import userdata
token = userdata.get('github_Token')
! git clone https://{token}@github.com/user_name/repository_name.git
※user_name,repository_nameの部分は、修正してください。
- 「シークレット」を用いずに、セル内でトークンを直書きすることも、一応可能です。しかしセキュリティ上推奨されません。
- チーム開発や、業務で利用するリポジトリに関しては、Google Colab上でのトークンの利用可否は、リポジトリの管理者に確認しましょう。
まとめ
Google Colabは便利な実行環境ですが、ファイルの永続的な保管場所として使うには注意が必要です。ランタイムがリフレッシュされると、作成したファイルやcloneしたリポジトリは消えてしまいます。
そのため、よく使うプログラムやサンプルデータはGitHubで管理し、Colabでは必要なときに取得して実行する、という使い分けが便利です。
補足・注記事項
- 本記事では、GitHubとの連携をテーマにしていますが、Google Driveとの連携も便利です(後日記事予定)
- 本記事では、GitHubをデータやプログラムの保管場所として紹介しましたが、GitHubは基本的にソースコード管理ツールです。機密情報や認証情報(APIキー、パスワードなど)は保存せず、公開しても問題ないデータのみを管理するようにしてください
- Google Colabのランタイムのリフレッシュ頻度は、Googleの公式資料をご確認ください
弊社について
本記事を書いている 合同会社インクルーシブソリューションズ は、データ基盤構築・分析基盤設計・システム改善支援を中心に活動している小規模IT法人です。
主な領域は、
- データマート設計・データパイプライン構築
- SQL / Python を用いたデータ処理設計
- BI導入支援・分析基盤の整備
- 既存システムの運用改善・可視化支援
といった、「データを使える状態にする」ための活動です。
弊社の企業活動に興味がある方は、ぜひ公式サイトも覗いてみてください。
