Git SSH との連携

Monacaでは、Git サービスを使ってレポジトリとプロジェクトを SSH 認証で接続することができます。GitHub は、SSH 接続をサポートする Git サービスの 1 つです。 次の項目では、GitHub を例として使用します。

現在、SSH 接続の Git サービスは、 新しい Monaca クラウド IDE でのみ利用可能です。
ここでは、Public 指定されたレポジトリを対象として解説を進めます。Private 指定のレポジトリに接続する場合には、対応する Monacaプランに加入する必要があります。詳細は、 料金プラン をご確認ください。

事前準備

Monaca クラウド IDE のバージョン管理機能を使用する場合、次のアカウントが必要となります。

  • SSH をサポートしている Git サービスのアカウント

セットアップ

ステップ 1: SSH キーの生成

  1. SSHキー管理 画面を表示します。
  2. SSHキー 再生成 ボタンをクリックします。

  3. 次の項目 ( Git サービスに SSH キーを追加する ) で使用するために生成されたキーをコピーします。

ステップ 2: Git サービスに SSH キーを追加する

Monaca と Git サービスプロバイダ間の正しい認証のために、前の項目で生成された SSH キーを Git サービスアカウントに追加する必要があります。

例では、GitHub を使用しています。 他のサービスについては、Git サービスのドキュメントを参照してください。

  1. SSH Key 画面を表示します。
  2. New SSH key ボタンをクリックします。
  3. 以下の情報を入力します。

    • Title: キーのタイトル
    • Key: Monacaアカウントから生成された SSH キー(「1. SSH キーの生成」で作成した SSH キー)
  4. Add SSH key ボタンをクリックします。

Monaca プロジェクトを新しい Git レポジトリに接続する

ステップ 1: 新しい空のレポジトリを作成する

任意の Git サービスで、新しいレポジトリを作成できます。この項目では、次のようにGitHubに新しいレポジトリを作成します。

  1. GitHub アカウントに移動し、新しい空のレポジトリを作成します(Readme ファイルなし)。
  2. SSH ボタンを選択します。
  3. SSH リンクをコピーします(下記のスクリーンショットを参照)。 次の項目の後半に Monaca クラウド IDE でこのリンクを使用します。

ステップ 2: レポジトリと Monaca プロジェクトの接続

  1. Monaca Dashboard から、レポジトリに接続するプロジェクトを開きます。
  2. Monaca クラウド IDE のメニューから、 プロジェクト → バージョン管理設定 を選択します。
  3. Git SSH オプションを以下のように選択してください。

  4. 次に、 Repository URL (上記のリンク) と Committer Name を入力する必要があります。

    設定後に別のレポジトリに変更することはできませんのでご注意ください。
  5. 設定する ボタンをクリックします。

  6. プロジェクトは新しいレポジトリにアップロードされます。 デフォルトでは、作業ブランチは master として設定されます。 別の作業ブランチに切り替える場合は、 プロジェクト → バージョン管理設定 へ移動します。

プロジェクトを Git レポジトリから Monaca にインポートする

  1. Monaca アカウントを使用して、Monaca クラウド IDE にログインします。
  2. ダッシュボード上で、インポート を選択します。
  3. プロジェクトのインポート画面で必要な情報を入力し、「Gitのレポジトリからインポート」を選択します。 次に、 レポジトリURL を入力し、 インポート ボタンをクリックします。

  4. インポートの完了後、Monaca ダッシュボード上で対象のプロジェクトが表示されていることを確認します。デフォルトでは、master ブランチのコンテンツがインポート対象となります。ブランチは、 プロジェクト → バージョン管理設定 で切り替えることができます。

リモートレポジトリを使用した作業

レポジトリとプロジェクト間の接続完了後は、チームメンバーと同じプロジェクトで作業を開始し、Monaca クラウド IDE から最新のアップデートと同期させることができます。

Monaca クラウド IDE では、ユーザーフレンドリーなバージョン管理用のインターフェイスを提供しています。このインターフェイスを使用すれば、Git のコマンドの詳細を意識せずに、基本的な操作を一通り行うことができます。

ブランチの切り替え ( Git コマンドの checkout )

複数のブランチを使用したプロジェクトで、ブランチの切り替えを行う場合は、次の手順に従います。

  1. Monaca クラウド IDE のメニューから、 プロジェクト → バージョン管理設定 を選択します。

  2. 現在の作業ブランチから切り替えたいブランチを選択し、アップデート ボタンをクリックします。

現在のブランチで行った変更をコミットせずに、ブランチの切り替えを行う場合、エラーが表示されます。ブランチを切り替える場合には、最初に、作業内容をコミット ( 場合によっては、リモートにプッシュまで ) してください。

リモートレポジトリから最新の内容を取得

Git コマンドでは、リモートレポジトリから最新の情報を取得/ダウンロードする場合、git pull ( git プル ) コマンドを使用します。Monaca クラウド IDE では、リモートレポジトリから最新の情報を取得する場合、Monaca クラウド IDE のメニューから、 プロジェクト → プル を選択します。リモートレポジトリ側の内容が更新されている場合、その内容がダウンロードされ、対応するブランチ側に反映されます。

IDE 上でプロジェクトを作成した場合、開発者側が自由に作業できるファイルのほとんどは、www フォルダー内に置かれています。これ以外にも、IDE 上には表示されないシステム側のファイルもありますが、リモートレポジトリとの同期時には、これらのファイルも一緒にアップロード・ダウンロードされています。

変更箇所のコミットとリモートレポジトリへの反映

現在作業をしているブランチで行った変更を、リモートレポジトリ側に反映させます。最初に、次の手順に従い、コミットを行い、リモートレポジトリ側へプッシュします ( コミット前に、ファイルを保存する必要があります )。

  1. Monaca クラウド IDE のメニューから、 プロジェクト → コミット を選択します。
  2. コミットメッセージを入力して、コミット対象のファイルにチェックを入れます。次に、コミット ボタンをクリックします。
  3. ここまでの手順で、リモートレポジトリに更新を反映させる準備ができました。次に、 プロジェクト → プッシュ を選択します。コミット後、リモートレポジトリ側が更新されているか確認します。

リモートレポジトリ側のコミット履歴の表示 ( GitHub 側の履歴ページ )

選択可能な公開 Git サービスとプライベート Git サービスが多数存在するため、リモートコミット履歴の URL は、すべてのサービスで認識されません。このオプションは、SSH レポジトリにリンクされたプロジェクトでは使用できません。

リモートレポジトリ側 ( GitHub 側 ) のコミット履歴を確認する場合、 プロジェクト → リモートのコミット履歴 を選択します。現在作業しているブランチのコミット履歴が表示された、GitHub 側のサイト ( 外部ページ ) にリダイレクトされます。

ローカルコミットの履歴表示 ( Monaca クラウド IDE 側の履歴ページ )

ローカルコミットとは、Monaca クラウド IDE 上で行ったコミットを指します。 プロジェクト → コミット履歴 を選択すれば、ローカルコミットの履歴を表示できます。各コミットの内容を確認する場合には、コミットメッセージ横の ID をクリックします。