1.13.2013

Sharing a Personal Eclipse Project with Dropbox + Git [Updated]

Dropbox + Git を使って個人用の Eclipse プロジェクトを共有する

以前のエントリ
mog project: Sharing a Personal Eclipse Project with Dropbox + Git 
の手順を更新。

EGitに頼り切るのではなく、部分的にgitコマンドを活用するほうが簡単なことに気づいた。

 

前提条件

使用する複数のマシン全てで以下がインストールされていること 

  • Dropbox
  • Git
  • Eclipse
  • Eclipse プラグイン EGit
 
凡例

以下、適宜読み替えを行うこと

path_to_dropbox -> Dropbox ディレクトリへのパス
path_to_workspace -> Eclipse のワークスペースのパス 
project_name -> プロジェクトの名前

 

1. 共有リポジトリの作成

最初に、複数のマシンから共有するため空リポジトリを Dropbox 上に作成する。
1つのリポジトリで複数の Eclipse プロジェクトを管理することも可能だが、今回は 1対1 の構成とする。

 

ベアリポジトリ作成

共有するのはベアリポジトリ(作業ファイルを持たないリポジトリ)とする。

以下は、Dropbox 配下の proj ディレクトリ配下に、共有リポジトリを配置する例。
ディレクトリの名前は、末尾に .git を付けるのが通例とのこと。 

$ cd path_to_dropbox/proj
$ mkdir project_name.git
$ cd project_name.git
$ git init --bare --shared

 

2. ローカルリポジトリの作成

元となるプロジェクトを作成し、共有リポジトリへアップロードする。

 

Eclipse プロジェクト作成

まずは通常と同じ手順でローカル(Dropbox以外の場所)にプロジェクトを新規作成する。

プロジェクトのパスは path_to_workspace/project_name とする。

 

ローカルリポジトリ作成

Eclipse プロジェクトのコンテキストメニューから、Team -> Share Project… を実行。

  • Share Project: Git を選択
  • Configure Git Repository
    • Use or create repository in parent folder of project: チェックを付ける
    • Create Repository ボタンを押下
    • 対象プロジェクトがチェック状態となったことを確認し finish

 

.gitignore ファイル作成

プロジェクトパス直下に「.gitignore」というファイルを作成し、管理対象外とする資源を定義する。

Eclipse のパッケージエクスプローラではデフォルトでは .* ファイルは表示されないので
まずは表示の設定を変える。 

  • パッケージエクスプローラのウィンドウ右上の下向き三角を押下し、Customize View… を選択。
     workspace
  • .* resources のチェックを外す

プロジェクトのコンテキストメニューからNew -> File で「.gitignore」を作成。

以下は Python プロジェクトの一例。

「.project」を管理対象とするかどうかは適宜判断要。
OSが異なると、同じプロジェクト設定では正しく動作しない可能性がある。 

# OS files
.DS_Store
*~
 
# Eclipse files
.project
.pydevproject
.settings/

# Python objects
*.py[cod]

 

アップストリームの設定

ローカルリポジトリに、上流のリポジトリを定義する。

ここは EGit ではなくコマンドで実行した方が早い。
Dropbox 上の共有リポジトリを origin という名前で登録。

 

$ cd path_to_workspace/project_name
$ git remote add origin path_to_dropbox/proj/project_name.git
$ git remote -v

最後のコマンドは確認のコマンド。このように表示されれば問題ない。

origin path_to_dropbox/proj/project_name.git (fetch)
origin path_to_dropbox/proj/project_name.git (push)

 

コミットと共有リポジトリへのプッシュ

Eclipse に戻り、プロジェクトのコンテキストメニューから Team -> Commit… を選択。

  • Commit Changes to Git Repositor
    • Commit messages: 適切なメッセージを記入 (未記入はNG)
    • Files: 全て選択 (管理対象外にしたいファイルが含まれていた場合は .gitignore を見直す)
    • Push: Push the changes to upstream のチェックを付ける (Eclipse のバージョンによって存在しない場合がある?)
  • Pushed to project_name - origin
    • OK を選択すれば、上流である共有リポジトリへのプッシュが行われる。
上流へのプッシュが行われなかった場合は、Team -> Push to Upstream で同じウィザードが出現する。

 

 

3. 別のマシンで共有リポジトリを利用

プロジェクト作成元と別のマシンで同じプロジェクトを使用するための方法。

 

クローンリポジトリの作成

作業をしたいマシンで Eclipse を起動し、Window -> Show View -> Other… を選択。
Git -> Git Repositories を選択する。 

Git Repositories ウィンドウで、右上のアイコンから
「Clone a Git Repository and add the clone to this view」(左から4番目?)を押下。 
workspace

  • Select Git Repository
    • Location URI: path_to_dropbox/proj/project_name.git を選択
    • Connection Protocol: file
  • Branch Selection: master を選択
  • Local Destination
    • Destination Directory: path_to_workspace/project_name
    • Destination Initial branch: master
    • Configuration Remote name: origin
    • Import all existing projects after clone finishes: チェックしない
 
 
プロジェクトのインポート

Eclipse メニューの FIle -> Import… から以下の手順を行う。

.project ファイルを .gitignore に含めた場合は直接プロジェクトをインポートすることはできない。
一旦一般プロジェクトとして読み込んだ後、プロジェクトの変換を行う。 

  • Select: Git -> Projects from Git
    • Select Repository Source: Local
    • Select a Git Repository: project_name - path_to_workspace/project_name
    • Select a wizard to use for importing projects: Import as general project
    • Import Projects Project name: project_name
      • Use the New Projects wizard を選択 (*1)
      • Select a wizard: 適切なウィザードを選択
      • プロジェクト新規作成ウィザードを実行
    • Select a wizard: プロジェクトに応じて適宜設定

プロジェクト種類の変換手順はプラグインなどによって異なっているようだ。
PyDev の場合は、コンテキストメニューから PyDev -> Set as PyDev Project で変換できた。

これで、晴れてプロジェクトを Dropbox を使って複数のマシンで共有することができるようになった。

 

 

補足. github へのアップロード

作成したプロジェクトを github へアップロードして公開する場合の手順。

 

SSH公開キーの登録

そのマシンで初めて github に接続する場合のみ実行。
手順はgithub公式ヘルプを参照。

Generating SSH Keys · github:help 

 

github 上のリポジトリ作成

これは github のWeb画面から実行する必要があるようだ。
Create a new repo アイコンを押下し、リポジトリ名などを登録する。 

 

github へプッシュ

ローカルリポジトリの remote の定義として github を追加する場合の例。
以下のコマンドを実行。($USER$ は github アカウントに書き換え)

$ cd path_to_workspace/project_name
$ git remote add github https://github.com/$USER$/project_name.git
$ git push -u github master

 

 

 

Related Posts

mog project: Sharing a Personal Eclipse Project with Dropbox + Git

 

0 件のコメント:

コメントを投稿