Git + Eclipse (+ codebreak)

GitHub はプライベートリポジトリが有料だから(学生は無料らしい)、無料でプライベートリポジトリが使える codebreak(※2016年1月でサービス終了したらしい) を使う。

クライアントはみんな大好き Eclipse、というか Pleiades。Windows の人も安心。

codebreak の登録とリポジトリの作成

  1. codebreak に行って登録する。
  2. 送られてきた「Confirm your email address」みたいなメールから認証を行う。
  3. ログイン後、「Edit Profile」から言語を日本語に変えておく。
  4. 「新規リポジトリの作成」からリポジトリを作成する。
  5. 「新規リポジトリをコマンドラインで作成、登録する場合」の部分をメモしておく。

    特に git remote add origin https://... の部分の URL。

Eclipse のインストールとリポジトリのクローン

  1. MergeDoc Project から、Pleiades All in One 4.3.x をダウンロードし展開する。4.3 は EGit が同梱されてるから最初から Git が使える。
  2. Eclipse を起動し、「Git リポジトリー・エクスプローラー」 パースペクティブを開く。
  3. 「Git リポジトリーを複製」を選択し、ソースの選択で「URI」を選択。
  4. 「ロケーション」の「URI」に、メモしておいた URL をコピー。すると「ホスト」「リポジトリー・パス」「プロトコル」「ユーザー」などが勝手に設定される。パスワード(codebreak 登録時のもの)を追加記入して「次へ」。
  5. あとは適当に設定する。

プロジェクトの作成と共用

方法1

  1. いつも通りプロジェクトを新規作成する。

    ただし、「ロケーション」を Git 作業ディレクトリーの下に設定する。

方法2

  1. いつも通りプロジェクトを新規作成する。もしくは既存のプロジェクトを用意する。
  2. 作成したプロジェクトを右クリックして「チーム」→「プロジェクトの共用」。
  3. Git を選択する。
  4. 対象のリポジトリーを選択する。

結局、対象のプロジェクトが Git 作業ディレクトリーの下に移動するだけぽい(やってることは方法1と一緒)。

作業の流れ

  1. add(コミットする対象を選び出す)
  2. commit(変更をローカルリポジトリへ反映)
  3. pull(リモートリポジトリの変更をローカルに反映)
  4. push(コミット済みのものをリモートリポジトリへ反映)

1 ~ 4 の行程を繰り返す。

…と聞いたんだけどpullはいろいろと問題があるらしい。pullが悪いのではなく、よくわからずにpullを使うのがまずいということ。

ざっくりいうとfetchとmergeを一度にしてくれるのがpullらしい。細かく言うとそうじゃないのかも知らんけど、ひとまずはこの解釈ですすめていくと、

  1. add(コミットする対象を選び出す)
  2. commit(変更をローカルリポジトリへ反映)
  3. fetch(リモートリポジトリからローカルリポジトリを更新)
    ※リポジトリは更新されるがファイルはまだ更新されてない
  4. merge(ファイルを最新状態に更新)
  5. push(コミット済みのものをリモートリポジトリへ反映)

とした方が良さそう。

無視(バージョン管理対象外)とするフォルダやファイルを設定しておくこと。

無視ファイル(.gitignore)

コミット

  1. 右クリック→「チーム」→「コミット」を選択。
  2. ダイアログで対象のファイルにチェックつけて「コミット」。

    「Commit and Push」はプッシュまで同時に行ってしまうので注意。

プル

右クリック→「チーム」→「プル」を選択。…するとエラーが出る。

git_pull_error

現在のブランチはプル用に構成されていません

構成にキー branch.master.merge の値がありません

プルを効かせるためには設定が必要らしい。

  1. Git リポジトリービューを開き、対象のリポジトリ上で右クリックして「プロパティー」を選択。
  2. 「エントリーの追加」ボタンを押下
  3. 「キー」に「branch.master.merge」、「値」に「refs/heads/master」を追加。

上記設定を行った後でもう一度試すと無事成功。

マージ

右クリック→「チーム」→「マージ」を選択。

競合が発生しているときは右クリック→「チーム」→「マージ・ツール」を使う。

修正後「索引に追加」(addに相当するんだろうけどかえってわかりづらい…)してからコミット。

プッシュ

  1. 右クリック→「チーム」→「アップストリームへプッシュ」を選択。
  2. ダイアログで OK を押す。