Bitbucket + EGit
Gitってなんで難しいんだろう?「専門用語が多い」というのもあるけれど、多くの解説書が「テキストエディタ+コマンドライン前提」だからじゃね?という気がする。細かいことは、ひとまずわきへ置いといて「EclipseのEGitでソースコードを共有する」ことだけをターゲットにすれば、もっと簡単に行けるのでは?とにかく簡単にGitでソース共有したい。共有フォルダでソース管理するのは、今時、どう考えても効率悪すぎ。自分自身Gitを使いこなせているわけじゃないけど、相手が初学者ならこれを機に慣れておいて欲しい、と思い来年使うかもしれないから、ここへまとめておくことにした。
1. Bitbucket
GitHubは無料でプライベートリポジトリを作った場合、共同編集者は3名まで。Bitbucketは5人まで行ける。1チーム5名くらいになるのでBitbucketを使う。「Bitbucket サインアップ」でググると、解説ページがヒットするのでそれを参考にサインアップする。基本的にはメールアドレスがあればOK。
- Bitbucketを利用するための準備→「公開鍵を作成する」は使わないのでパス。
- Bitbucket Cloudの利用方法 ~ はじめてのBitbucket サインアップ→「2. チームでのコード管理」は後でやるのでパス。
2. Bitbucketにリポジトリを作る
ログイン後表示される「あなたの作業」から[リポジトリの作成]をクリック。
または
- 画面左端の[+]をクリック
- CREATEの[リポジトリ]をクリック
「新規リポジトリの作成」に「リポジトリ名」を入力する。このリポジトリ名は作成するEclipseの動的Webプロジェクト名(=Webアプリケーション名)と同じにする。ここでは"shopping"とする。 また、[READMEを含めますか?]で"Yes"を選択する。以上で[リポジトリの作成]をクリック。
リポジトリが作成される。画面上部の"git clone"の後に表示されている"https:// ~"の部分(リポジトリURL,リモートURI)は、このあと何度も使うのでメモ帳か何かにコピーしておく。
3. Eclipseプロジェクトを作成する
動的Webプロジェクトを作成する。プロジェクト名はBitbucketで作成したリポジトリ名(ここではshopping)と同じであること。
4. ローカルリポジトリの作成
①プロジェクト名 右クリック>[チーム(E)]>[プロジェクトの共用(S)...]を選択する。
②リポジトリー・タイプ Git を選択して[次へ(N)>]クリック。
③(ローカル)リポジトリーを新規に作成するので、[作成...]をクリック
④リポジトリーを作成するディレクトリは c:\git\<動的Webプロジェクト名>とし、[完了(F)]をクリック。
⑤ターゲット・ロケーションが設定されたことを確認して[完了(F)]をクリック→このタイミングでプロジェクトのリソースがworkspaceから、上記のリポジトリディレクトリ下へ移動される。
⑥プロジェクト名 右クリック>[チーム(E)]>[コミット(C)...]を選択する。
⑦Gitステージングタブの[ステージングされていない変更]の右側にある[++]をクリック→[ステージングされた変更]へ移ったことを確認
⑧[コミットメッセージ]を入力して、[コミット(C)]をクリック。
⑨コミット完了
5. リモートリポジトリへプッシュ
次はプッシュだが、その前に一度プルする(プルしないとnon-fast-forardでプッシュが拒否される) ①プロジェクト名 右クリック>[チーム(E)]>[プル...]を選択する。 ②ロケーションのURIにBitbucketに表示されていたURIを入力する。 パスワードを入力し、[セキュア・ストアに保管]をチェックする。 [次へ(N)>]クリック。
③[新規リモート(R)...]をクリックする。
④ロケーションのURIにBitbucketに表示されていたURIを入力する。 パスワードを入力し、[セキュア・ストアに保管]をチェックする。 [完了(F)>]クリック。
⑤カーソルを[参照]に移して[CTRL]+[SPACE]を入力。 master[ブランチ]を選択
⑥[プッシュおよびプルのアップストリームを構成する]をチェックし、[完了(F)]をクリック。
⑦プル結果が表示されたら[閉じる(C)]をクリック。
⑧プロジェクト名 右クリック>[チーム(E)]>[originへプッシュ(P)]を選択する。
⑨プッシュ結果が表示されるので[閉じる(C)]をクリック。
⑩BitBucketを見ると、確かにプロジェクトがプッシュされている。
6. ファイルを修正したとき
①プロジェクトのファイルを変更して保存([CTRL]+[S])すると、プロジェクトエクスプローラのファイル名の先頭に>が表示される。
②またGitステージングタブの[ステージされていない変更]に表示される。
③[ステージングされていない変更]の右側にある[++]をクリック→[ミットメッセージ]を入力するのは同じ。 ④そのあと[コミット(C)]→プロジェクト名 右クリック>[チーム(E)]>[アップストリームへプッシュ(P)]でもいいが、プッシュできることを確認できていれば、[コミットおよびプッシュ(M)...]で一度にできる。
7. ファイルを追加したとき
①プロジェクトにファイルを追加すると、プロジェクトエクスプローラのファイル名の先頭に?が表示される。
②またGitステージングタブの[ステージされていない変更]に表示される。
③[ステージングされていない変更]の右側にある[++]をクリックすると、?が+に変わり、[ステージングされた変更]に移る。
④あとは[コミットメッセージ]を入力して、[コミットおよびプッシュ(M)...]すればOK。
8. ファイルを削除したとき
①プロジェクトからファイルを削除すると、Gitステージングタブの[ステージされていない変更]に表示される。
②[ステージングされていない変更]の右側にある[++]をクリックするとステージングされた変更に移る。
③あとは[コミットメッセージ]を入力して、[コミットおよびプッシュ(M)...]すればOK。Bitbucketのリポジトリを見ると、ディレクトリに削除したときのコミットメッセージが表示されている。
これで1人の開発者が、ブランチとかを抜きにして、とにかくBitbucketをリモートリポジトリとしてソースをプッシュすることができるようになった。次は別なチーム開発者と、このリポジトリを共有する方法について。