GitHub はプライベートリポジトリが有料だから(学生は無料らしい)、無料でプライベートリポジトリが使える codebreak(※2016年1月でサービス終了したらしい) を使う。
クライアントはみんな大好き Eclipse、というか Pleiades。Windows の人も安心。
codebreak の登録とリポジトリの作成
- codebreak に行って登録する。
- 送られてきた「Confirm your email address」みたいなメールから認証を行う。
- ログイン後、「Edit Profile」から言語を日本語に変えておく。
- 「新規リポジトリの作成」からリポジトリを作成する。
- 「新規リポジトリをコマンドラインで作成、登録する場合」の部分をメモしておく。
特に
git remote add origin https://...
の部分の URL。
Eclipse のインストールとリポジトリのクローン
- MergeDoc Project から、Pleiades All in One 4.3.x をダウンロードし展開する。4.3 は EGit が同梱されてるから最初から Git が使える。
- Eclipse を起動し、「Git リポジトリー・エクスプローラー」 パースペクティブを開く。
- 「Git リポジトリーを複製」を選択し、ソースの選択で「URI」を選択。
- 「ロケーション」の「URI」に、メモしておいた URL をコピー。すると「ホスト」「リポジトリー・パス」「プロトコル」「ユーザー」などが勝手に設定される。パスワード(codebreak 登録時のもの)を追加記入して「次へ」。
- あとは適当に設定する。
プロジェクトの作成と共用
方法1
- いつも通りプロジェクトを新規作成する。
ただし、「ロケーション」を Git 作業ディレクトリーの下に設定する。
方法2
- いつも通りプロジェクトを新規作成する。もしくは既存のプロジェクトを用意する。
- 作成したプロジェクトを右クリックして「チーム」→「プロジェクトの共用」。
- Git を選択する。
- 対象のリポジトリーを選択する。
結局、対象のプロジェクトが Git 作業ディレクトリーの下に移動するだけぽい(やってることは方法1と一緒)。
作業の流れ
- add(コミットする対象を選び出す)
- commit(変更をローカルリポジトリへ反映)
- pull(リモートリポジトリの変更をローカルに反映)
- push(コミット済みのものをリモートリポジトリへ反映)
1 ~ 4 の行程を繰り返す。
…と聞いたんだけどpullはいろいろと問題があるらしい。pullが悪いのではなく、よくわからずにpullを使うのがまずいということ。
ざっくりいうとfetchとmergeを一度にしてくれるのがpullらしい。細かく言うとそうじゃないのかも知らんけど、ひとまずはこの解釈ですすめていくと、
- add(コミットする対象を選び出す)
- commit(変更をローカルリポジトリへ反映)
- fetch(リモートリポジトリからローカルリポジトリを更新)
※リポジトリは更新されるがファイルはまだ更新されてない - merge(ファイルを最新状態に更新)
- push(コミット済みのものをリモートリポジトリへ反映)
とした方が良さそう。
無視(バージョン管理対象外)とするフォルダやファイルを設定しておくこと。
コミット
- 右クリック→「チーム」→「コミット」を選択。
- ダイアログで対象のファイルにチェックつけて「コミット」。
「Commit and Push」はプッシュまで同時に行ってしまうので注意。
プル
右クリック→「チーム」→「プル」を選択。…するとエラーが出る。
現在のブランチはプル用に構成されていません
構成にキー branch.master.merge の値がありません
プルを効かせるためには設定が必要らしい。
- Git リポジトリービューを開き、対象のリポジトリ上で右クリックして「プロパティー」を選択。
- 「エントリーの追加」ボタンを押下
- 「キー」に「branch.master.merge」、「値」に「refs/heads/master」を追加。
上記設定を行った後でもう一度試すと無事成功。
マージ
右クリック→「チーム」→「マージ」を選択。
競合が発生しているときは右クリック→「チーム」→「マージ・ツール」を使う。
修正後「索引に追加」(addに相当するんだろうけどかえってわかりづらい…)してからコミット。
プッシュ
- 右クリック→「チーム」→「アップストリームへプッシュ」を選択。
- ダイアログで OK を押す。