Bitbucket + EGit

Gitってなんで難しいんだろう?「専門用語が多い」というのもあるけれど、多くの解説書が「テキストエディタコマンドライン前提」だからじゃね?という気がする。細かいことは、ひとまずわきへ置いといて「EclipseのEGitでソースコードを共有する」ことだけをターゲットにすれば、もっと簡単に行けるのでは?とにかく簡単にGitでソース共有したい。共有フォルダでソース管理するのは、今時、どう考えても効率悪すぎ。自分自身Gitを使いこなせているわけじゃないけど、相手が初学者ならこれを機に慣れておいて欲しい、と思い来年使うかもしれないから、ここへまとめておくことにした。

1. Bitbucket


GitHubは無料でプライベートリポジトリを作った場合、共同編集者は3名まで。Bitbucketは5人まで行ける。1チーム5名くらいになるのでBitbucketを使う。「Bitbucket サインアップ」でググると、解説ページがヒットするのでそれを参考にサインアップする。基本的にはメールアドレスがあればOK。

2. Bitbucketにリポジトリを作る


ログイン後表示される「あなたの作業」から[リポジトリの作成]をクリック。 f:id:kktworks:20190618082224p:plain

または

  1. 画面左端の[+]をクリック
  2. CREATEの[リポジトリ]をクリック

f:id:kktworks:20190618082438p:plain f:id:kktworks:20190618082500p:plain

「新規リポジトリの作成」リポジトリ名」を入力する。このリポジトリ名は作成するEclipse動的Webプロジェクト名(=Webアプリケーション名)と同じにする。ここでは"shopping"とする。 また、[READMEを含めますか?]で"Yes"を選択する。以上で[リポジトリの作成]をクリック。 f:id:kktworks:20190618082921p:plain

リポジトリが作成される。画面上部の"git clone"の後に表示されている"https:// ~"の部分(リポジトリURL,リモートURI)は、このあと何度も使うのでメモ帳か何かにコピーしておく。 f:id:kktworks:20190618083011p:plain

3. Eclipseプロジェクトを作成する


動的Webプロジェクトを作成する。プロジェクト名はBitbucketで作成したリポジトリ名(ここではshopping)と同じであること。

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


プロジェクト名 右クリック>[チーム(E)]>[プロジェクトの共用(S)...]を選択する。

リポジトリー・タイプ Git を選択して[次へ(N)>]クリック。 f:id:kktworks:20190618083603p:plain

③(ローカル)リポジトリーを新規に作成するので、[作成...]をクリック f:id:kktworks:20190618083821p:plain

リポジトリーを作成するディレクトリは c:\git\<動的Webプロジェクト名>とし、[完了(F)]をクリック。 f:id:kktworks:20190618083842p:plain

⑤ターゲット・ロケーションが設定されたことを確認して[完了(F)]をクリック→このタイミングでプロジェクトのリソースがworkspaceから、上記のリポジトリディレクトリ下へ移動される。 f:id:kktworks:20190618083920p:plain

プロジェクト名 右クリック>[チーム(E)]>[コミット(C)...]を選択する。

⑦Gitステージングタブの[ステージングされていない変更]の右側にある[++]をクリック→[ステージングされた変更]へ移ったことを確認 f:id:kktworks:20190618085721p:plain

[コミットメッセージ]を入力して、[コミット(C)]をクリック。 f:id:kktworks:20190618085703p:plain

⑨コミット完了 f:id:kktworks:20190618084443p:plain

5. リモートリポジトリへプッシュ


次はプッシュだが、その前に一度プルする(プルしないとnon-fast-forardでプッシュが拒否される) ①プロジェクト名 右クリック>[チーム(E)]>[プル...]を選択する。 ②ロケーションのURIにBitbucketに表示されていたURIを入力する。 パスワードを入力し、[セキュア・ストアに保管]をチェックする。 [次へ(N)>]クリック。 f:id:kktworks:20190618094140p:plain

[新規リモート(R)...]をクリックする。

f:id:kktworks:20190618094217p:plain

④ロケーションのURIにBitbucketに表示されていたURIを入力する。 パスワードを入力し、[セキュア・ストアに保管]をチェックする。 [完了(F)>]クリック。

f:id:kktworks:20190618094400p:plain

⑤カーソルを[参照]に移して[CTRL]+[SPACE]を入力。 master[ブランチ]を選択 f:id:kktworks:20190618094503p:plain

[プッシュおよびプルのアップストリームを構成する]をチェックし、[完了(F)]をクリック。 f:id:kktworks:20190618094532p:plain

⑦プル結果が表示されたら[閉じる(C)]をクリック。

f:id:kktworks:20190618094909p:plain

プロジェクト名 右クリック>[チーム(E)]>[originへプッシュ(P)]を選択する。

⑨プッシュ結果が表示されるので[閉じる(C)]をクリック。

f:id:kktworks:20190618095036p:plain

⑩BitBucketを見ると、確かにプロジェクトがプッシュされている。 f:id:kktworks:20190618095023p:plain

6. ファイルを修正したとき


①プロジェクトのファイルを変更して保存([CTRL]+[S])すると、プロジェクトエクスプローラのファイル名の先頭に>が表示される。

f:id:kktworks:20190618100229p:plain

②またGitステージングタブの[ステージされていない変更]に表示される。 f:id:kktworks:20190618100612p:plain

[ステージングされていない変更]の右側にある[++]をクリック→[ミットメッセージ]を入力するのは同じ。 ④そのあと[コミット(C)]→プロジェクト名 右クリック>[チーム(E)]>[アップストリームへプッシュ(P)]でもいいが、プッシュできることを確認できていれば、[コミットおよびプッシュ(M)...]で一度にできる。

f:id:kktworks:20190618100724p:plain

7. ファイルを追加したとき


①プロジェクトにファイルを追加すると、プロジェクトエクスプローラのファイル名の先頭に?が表示される。

f:id:kktworks:20190618101008p:plain

②またGitステージングタブの[ステージされていない変更]に表示される。 f:id:kktworks:20190618101029p:plain

[ステージングされていない変更]の右側にある[++]をクリックすると、?が+に変わり、[ステージングされた変更]に移る。 f:id:kktworks:20190618101115p:plain f:id:kktworks:20190618101145p:plain

④あとは[コミットメッセージ]を入力して、[コミットおよびプッシュ(M)...]すればOK。

8. ファイルを削除したとき


①プロジェクトからファイルを削除すると、Gitステージングタブの[ステージされていない変更]に表示される。 f:id:kktworks:20190618101345p:plain

[ステージングされていない変更]の右側にある[++]をクリックするとステージングされた変更に移る。 f:id:kktworks:20190618101436p:plain

③あとは[コミットメッセージ]を入力して、[コミットおよびプッシュ(M)...]すればOK。Bitbucketのリポジトリを見ると、ディレクトリに削除したときのコミットメッセージが表示されている。

f:id:kktworks:20190618101530p:plain

これで1人の開発者が、ブランチとかを抜きにして、とにかくBitbucketをリモートリポジトリとしてソースをプッシュすることができるようになった。次は別なチーム開発者と、このリポジトリを共有する方法について。