Eclipse tips
egitでssh経由でリモートレポジトリへpush
登場人物
下記を想定(全部macなのはたまたま試した環境がそうだっただけ):
- ローカル1(いわゆるアリス)
- ローカル2(いわゆるボブ)
- リモートサーバ
シナリオ
- 環境設定
- アリスがローカルでプロジェクト作成gitレポジトリにコミット
- リモートにgitレポジトリ作成
- アリスがリモートのgitレポジトリにpush
- ボブがリモートのgitレポジトリからローカルへpull
手順
- 環境設定
- アリス、ボブはリモートに公開鍵によるssh接続が出来るようにしておく
- アリス、ボブのEclipseにはegitをインストールしておく
- アリスがローカルでプロジェクト作成gitレポジトリにコミット
- [Share Project]->[Git]で"Configure Git Repository"ダイアログを表示する
- ここでは、新規にローカルレポジトリを作成するため、[Create]をクリック
- "Parent directory"はデフォルトのまま((ユーザホーム)/gitのはず)でよい
- "Name"欄に適当なレポジトリ名(ここでは"sandbox"とする)を入力して[Finish]クリックで"Configure Git Repository"ダイアログへ戻る
- [Finish]をクリックするとローカルレポジトリが作成される
- プロジェクトを右クリックし[Team]->[Commit]を選択
- 適当なコミットコメントを入力し[Commit]をクリックするとローカルレポジトリへコミットされる
- リモートにgitレポジトリ作成
- リモートマシンにssh等でログインする
- gitレポジトリ用のディレクトリを作成(ここでは/var/git/sandoboxとする)
- $mkdir -p /var/git/sandbox
- gitレポジトリの初期化
- $ cd /var/git/sanbox
- $ git --bare init
- アリスがリモートのgitレポジトリにpush
- プロジェクトを右クリック->[Team]->[Remote]->[Push]で"Push to Another Repository]ダイアログが表示される
- "Host"にリモートマシンのホスト名(またはIPアドレス)を入力
- "Repository Path"にリモート側のgitレポジトリパス(絶対パス)を入力(ここでは/var/git/sandbox)
- "Protocol"にsshを選択
- User, Passwordにアリスのsshユーザ名、パスワードを入力
- [Next]をクリックすると"Push Ref Specification"のダイアログが表示される
- "Soureces ref"で"master[branch]を選択し、[Add Spec]をクリックし、[OK]をクリック
- ボブがリモートのgitレポジトリからローカルへpull
- [Window]->[Show View]->[Others]->[Git Repositories]を選択
- [Clone a git repository and the clone to this view](青い矢印のアイコン)をクリック
- pushしたときと同様に接続先のgitレポジトリを設定するダイアログが表示されるので、同様に内容を入力し[Next]をクリック
- アリスの場合と異なるのはssh接続情報がボブのものになるところだけ
- "Branch Selection"でどのブランチをcloneとするのか選択すし(ここではmasterでよい)、[Finish]をクリック
- [FIle]->[Impor]->[Projcts from Git]を選択し[Next]をクリック
- cloneを作成したレポジトリ(ここではsandbox)を選択し[Finish]をクリック
ハマったところ
- EclipseでのSSH2接続の確立
- egitでsshプロトコルを利用するには、基本的に公開鍵認証を設定する必要あり.
- sshの設定はegitではなく、eclipseそのものが持っているので注意!
- [Prefrences]->[General]->[Network Connections]->[SSH2]で設定する
参考URL
最終更新:2012年01月02日 20:39