■あぜ道 Eclipseの小技 |
git共有リポジトリの作成と接続 |
今回は、Git共有リポジトリ(リモートリポジトリ)のお話です。 前回お話ししたEclipse Gitローカルリポジトリを、リモートサーバー上で 複数のメンバーで共有するための設定について説明して行きます。 |
まず、リモートサーバー上の共有リポジトリであることから あらかじめ、リモートサーバー上にリポジトリが存在する必要があります。 ここでは、Linuxサーバー上に共有リポジトリを作成するという前提で説明します。 ■リモートリポジトリの作成 Linuxサーバーの任意の場所に共有リポジトリを作成します。 ここでは、/home/pub/git というディレクトリを共有リポジトリのrootとします。 1)Linuxのroot権限で、ディレクトリを作成します。 [root@ews001 home]#mkdir -p pub/git 2)誰でも読み書きができるようにディレクトリのパーミッションを変更します。 [root@ews001 home]#chmod -R 777 pub ここまでは、Git共有リポジトリの共通設定です。 ここから、プロジェクトごとの個別設定となります。 3)/home/pub/git配下に移動します。 [root@ews001 home]#cd pub/git 4)個別の共有リポジトリを作成します。ここでは 共有リポジトリを「jLabo.git」とします。 [root@ews001 git]#mkdir jLabo.git 5)作成した共有ディレクトリに移動します。 [root@ews001 git]#cd jLabo.git 6)共有リポジトリを初期化します。 [root@ews001 jLabo.git]#git --bare init --share 以上で、リモートサーバー側の共有リポジトリの準備は完了です。 |
■Eclipseリモートリポジトリの設定 続いて、Eclipse側でローカルリポジトリをリモートリポジトリに接続する手順を説明します。 Ecliseのビューで、Gitリポジトリビューが必要なためビューの追加を行います。 「ウィンドウ」-「ビューの表示」-「その他」を選択します。 ![]() |
「ビューの表示」サブウィンドウが表示されるので、 リスト中の「Git」の「Gitリポジトリー」を選択して「OK」ボタンをクリックします。 ![]() |
Eclipseに「Gitリポジトリ」ビューが追加されるので、 これをどこか好きな場所に配置します。 ここでは、「ナビゲータ」ビューの隣に置いてみました。 ビューの内部には、前回すでに作成してある、Gitローカルリポジトリの内容が表示されています。 ![]() |
ビューの中の、「リモート」を選択し、マウス右ボタンをクリックするとメニューが表示されます。 メニューの中の「リモートの作成」を選択します。 ![]() |
■プッシュ構成の作成 「新規リモート」のサブウィンドウが開きます。 リモート名はデフォルトで、「origin」となっているはずなので、ここはこのままとします。 下の、ラジオボタンで「プッシュ構成」をチェックし「OK」ボタンをクリックします。 ※)「フェッチ構成」も設定しますが、これはまた後で。 ![]() |
「プッシュ構成」のサブウィンドウが開きます。 中身は空っぽなので、「変更」ボタンをクリックします。 ![]() |
「宛先Gitリポジトリー」のサブウィンドウが開きます。 URLに、ssh://user@host:22リモートリポジトリパスを入力します。 user:リモートサーバーのログインアカウント host:リモートサーバーのホスト名(ドメイン名) リモートリポジトリパス:ここでは、リモートサーバー側で設定した /home/pub/git/jLabo.git です。 通常は、OpenSSH(22番port)で接続するはずですが、port番号が22番以外の場合は、上の22 を書き換えてください。 ![]() URLが正しく設定された場合は、下のホスト/リポジトリパス/プロトコル/ユーザー 欄は自動的に設定されます。 ユーザーに対する、アカウントパスワードを入力し、 「セキュアストアに保管」をチェックして、「完了」ボタンをクリックします。 |
「プッシュ構成」のサブウィンドウに戻ると、 URL欄には今設定した内容が入っています。 ■参照マッピングの設定 「追加」ボタンをクリックします。 ![]() |
「プッシュ参照使用の作成または編集」のサブウィンドウが開きます。 この内容を編集します。 ![]() |
ローカルブランチに「master」と入力すると、プルダウンメニューみたいなものが表示されるので、 この状態でEnterキーを押します。 ※)タイミング的にプルダウンメニューが表示されないような場合もありますが問題はありません。 ![]() |
ローカルブランチでEnterキーを押すと、ローカルブランチの内容が「refs/heads/master」に自動的に変更されます。 もし、上でプルダウンメニューが表示されないような場合は、ここで直接 ローカルブランチに「refs/heads/master」を入力してください ![]() |
下の、リモートブランチにも、ローカルブランチと同じ文字列を設定します。(Copy & Paste) ローカルブランチ/リモートブランチが入力完了すると、下の「指定」欄には自動的に文字列が設定されます。 ここで、「OK」ボタンをクリックします。 ![]() |
再び「プッシュ構成」のサブウィンドウに戻ると、 参照マッピングに、今設定した内容が表示されています。 ここで「保管」ボタンをクリックします。 ![]() |
「Gitリポジトリー」ビューに戻ります。 「リモート」の下に、「origin」が追加され、上り(push)と下り(fetch)のノードが表示されています。 ![]() プッシュの構成(上り)は完了したので、次はフェッチの構成(下り)の設定を行います。 |
■フェッチ構成の作成 「Gitリポジトリー」ビューのフェッチ構成(緑色の下向き矢印アイコン)を選択し、 マウスの右ボタンをクリックします。 メニューが表示されるので「フェッチの構成」を選択します。 ![]() |
「フェッチ構成」のサブウィンドウが開きます。 URLは、先ほどのプッシュ構成と共用のため既に設定されています。 「追加」ボタンをクリックします。 ![]() |
「フェッチの参照仕様を追加」のサブウィンドウが開きます。 「ソース」に、プッシュ構成で行った要領で「master」と入力してEnterキーを押します。 自動的に「refs/heads/master」に変わるはずですが、変わらない場合は、 手動で「refs/heads/master」を入力してください。 入力が完了したら、「完了」ボタンをクリックします。 ![]() |
「フェッチ構成」のサブウィンドウに戻ります。 参照マッピングに、今設定した内容が表示されているので 「保管」ボタンをクリックします。 ![]() 以上で、共有リポジトリ(リモートリポジトリ)の設定は完了です。 |
■リモートリポジトリへのプッシュ Eclipseのナビゲータに戻ります。 この状態では、ファイルはローカルリポジトリまではコミットされていますが、 リモートリポジトリには反映されていません。 ここで、リモートリポジトリへのプッシュを行います。 ナビゲータビューのプロジェクト名を選択し、マウス右ボタンをクリックします。 メニューが表示されるので、「チーム」-「コミット」を選択します。 ![]() |
「コミットするファイルがありません」というダイアログボックスが表示されますが、 お構いなく「はい」ボタンをクリックします。 ![]() |
「変更をコミット」サブウィンドウが開くので、 コミット・メッセージ欄にコメントを入力して、 「コミットおよびプッシュ」ボタンをクリックします。 ![]() 以上で、リモートリポジトリにファイルが反映されました。 |
■リモートリポジトリからのプル リモートリポジトリから、ローカルリポジトリへのファイルのプルを行います。 ナビゲータビューのプロジェクト名を選択して、マウスの右ボタンをクリックします。 メニューが表示されるので、「チーム」-「プル」を選択します。 リモートリポジトリ側で変更されたファイルがある場合は、ローカルリポジトリに変更が反映され、 さらにローカルのEclipseにも変更が反映されます。 ![]() |
![]() |
git共有リポジトリの作成と接続 |
![]() |