メインコンテンツまでスキップ

Google Colab を GitHub 連携するための手順

Google Colabで作成したPythonコードを、MacBookのVSCodeとGitHubを使って本格的な開発フローに移行するための実践的な手順を解説します。これまでColab上でのみ開発を行っていた方が、GitHubでのバージョン管理とローカルVSCodeでの快適な編集環境を構築し、より効率的な開発体制を整えるための具体的なステップを紹介します。

  • リポジトリの準備: GitHub上での受け入れ環境の構築
  • 初回連携: ColabからGitHubへの安全なコード移行
  • ローカル環境: VSCodeでの編集環境セットアップ
  • 運用ワークフロー: 日常的な開発サイクルの確立

現在の状況と目標

出発点とゴール
  • 現在の状況
    • コードはGoogle Colab上にのみ存在(.ipynbファイル)
    • GitHubにプライベートリポジトリが用意済み
    • ローカル環境にはコードが存在しない
    • Gitによるバージョン管理は未実施
  • 目標
    • GitHubでコードの変更履歴を管理
    • MacBook/VSCodeでの快適な編集環境
    • Google Colabでのスムーズな動作確認

1. GitHubリポジトリの準備

Colabからの保存を受け入れるため、リポジトリにmainブランチを作成します。

  1. GitHubリポジトリを開きます。
  2. READMEファイルを作成: 「Create a new file」または「Add a README file」をクリックします。README.mdを作成することで、mainブランチが自動生成されます。

2. ColabからGitHubへの初回保存

  1. Colabで対象のノートブックを開きます。
  2. メニューから ファイル > GitHubにコピーを保存 を選択します。
  3. 保存先を設定します。
    • リポジトリ: your-username/your-repository-name を選択
    • ブランチ: main を選択
    • コミットメッセージ: 「Initial commit of notebook from Colab」など分かりやすいメッセージを入力
  4. OKボタンをクリックして保存を実行します。

3. ローカル開発環境のセットアップ

リポジトリのクローン

  1. GitHubリポジトリで緑色の「Code▼」ボタンをクリックします。
  2. HTTPSのURLをコピーします。
  3. ターミナルを開き、以下のコマンドを実行します。
git clone [コピーしたリポジトリURL]

VSCodeの設定

  1. クローンしたフォルダをVSCodeで開きます。
  2. 開発に便利な拡張機能をインストールします。
    • Python
    • Jupyter
  3. .ipynbファイルをGitで管理しやすくするため、テキストベースで開くように設定します。
    • ファイルを右クリック > 「別のエディターで開く...」> 「テキストエディター」を選択します。
    • これにより、ファイルがJSON形式で表示され、変更差分が分かりやすくなります。

4. 日常の開発ワークフロー

編集からGitHub保存まで

  1. VSCodeでコード編集

    • ローカル環境で自由にアイデアを実装し、コードを編集します。
  2. 変更をGitHubに保存

    • 編集が完了したら、ターミナルで以下のコマンドを実行して変更内容をGitHubにプッシュします。
    git add .
    git commit -m "機能追加: ユーザー認証ロジック改善"
    git push origin main
  3. Colabで動作確認

    • Colabを開き、ファイル > ノートブックを開く を選択し、GitHubタブに切り替えます。
    • リポジトリURL(https://github.com/your-username/your-repository-name)で検索します。
    • 最新版に更新されたノートブックを開き、実行して動作を確認します。

重要な運用ルール

スムーズな連携を維持し、コンフリクトを避けるために、以下のルールを守ることが重要です。

1. 作業開始前の同期確認

どの環境で編集を始める場合でも、まずGitHubから最新版を取得してください。

  • ローカルで作業する場合:
    git pull origin main
  • Colabで作業する場合:
    • 「ファイル > ノートブックを開く > GitHubタブ」から最新版のノートブックを開き直します。

2. 編集完了時の保存

編集が完了したら、必ずその内容をGitHubに保存(プッシュ)してください。

  • ローカルで編集した場合:
    git add .
    git commit -m "変更内容の説明"
    git push origin main
  • Colabで編集した場合:
    • 「ファイル > GitHubにコピーを保存」を実行し、変更内容を記載したコミットメッセージと共に保存します。

3. 複数の場所での同時編集を避ける

コンフリクトの最大の原因となるため、同じファイルを複数の環境で同時に編集しないでください。 一つの作業が完了してGitHubに保存されてから、次の環境で作業を開始するようにします。

4. コンフリクト発生時の対処

万が一、競合(コンフリクト)が発生してしまった場合は、落ち着いてローカル環境で対処します。

  1. git statusで状況を確認します。
  2. 必要に応じてgit stashで現在の変更を一時退避させます。
  3. git pull origin mainでリモートの最新版を取得します。
  4. VSCodeの差分表示機能などを活用し、コンフリクトを解消してから再度コミット・プッシュします。

まとめ

この手順により、Google ColabとGitHub、ローカルVSCodeが連携した効率的な開発環境が構築できます。

  • GitHub: 確実なバージョン管理とコード履歴の保持
  • ローカルVSCode: 快適で高機能な編集環境
  • Google Colab: 強力なGPU/TPUを活用した実行環境

それぞれのツールの強みを活かし、適切な運用ルールを守ることで、コンフリクトのリスクを最小限に抑えながら、柔軟で安全な開発ワークフローを実現しましょう。

参考文献