GitHubとEGitの連携
前節で、手順の1と2が終了し、ローカルリポジトリができ上がりました。次に、手順3のGitHubリポジトリの作成と4のプッシュを行っていきましょう。
GitHubリポジトリを作成する
まず、GitHubリポジトリの作成です。そのためには当然ですが、アカウントを持つ必要があります。GitHubのアカウントを持っていない人は、こちらのアカウント作成ページから、アカウントの作成、認証などを済ませておいてください。なお、GitHubは有料アカウントもありますが、無料アカウントで十分です。
作成されたアカウント、あるいはすでに存在するアカウントでログインしたTOPページ右上の[+]ナビゲーションをクリックすると、ドロップダウンメニューが表示されます(図17)。
表示されたメニューから[New repository]を選択してください。すると、図18の新規リポジトリ作成画面が表示されます。
図18のように以下の項目を入力し、[Create repository]をクリックしてください。
- Owner: 現在ログインしているGitHubユーザ
- Repository name: CodeZineEGit
- Privateを選択
- 各チェックボックスにはチェックを入れない
すると、図19の画面が表示され、無事リポジトリが作成されたことになります。
ここで、先の入力項目についていくつか補足しておきます。
Repository name
まさに、リポジトリ名です。この名称でリポジトリを区別するので、自分が所有するリポジトリの中で重ならない名前で、わかりやすいものにします。
publicとprivateの選択
デフォルトはpublicとなっています。このpublicとしてリポジトリを作成すると、名称通り、そのリポジトリ内のソースコードは、公開されてしまいます。オープンソース開発のリポジトリのように、そもそもソースコードを公開するならばpublic、公開したくないならばprivateとします。
Add a README file
このリポジトリの説明を記述したファイル(READMEファイル)を自動生成するかどうかのチェックボックスです。チェックを入れると、リポジトリ名が記述されただけのREADMEファイルが自動生成されます。
Add .gitignore
.gitignoreファイルとは、Gitのバージョン管理対象から除外するファイルを設定するファイルです。この.gitignoreファイルをあらかじめ用意された雛形から作成する場合はチェックを入れます。
Choose a license
ここで作成するファイル類のライセンスを記述したファイルを、あらかじめ用意された雛形から生成する場合にチェックを入れます。
なお、チェックボックス類にひとつもチェックを入れず、自動生成するファイルがない場合、リポジトリは空となります。空のリポジトリはクローンが行えないため、通常はどれかにチェックを入れてリポジトリを作成します(READMEが多いです)。ただし、今回のように、あえて空のリポジトリを作成してから、EGitなどによってこのリポジトリにプッシュする場合は、全てチェックを入れずに作成します。
ローカルリポジトリをプッシュする
前項で作成したGitHubリポジトリに、EGitを使ってローカルリポジトリをプッシュしましょう。EGitでプッシュするにあたり、リモートリポジトリのURIが必要です。GitHubの図19の画面の[Quick setup]に記載のhttpsから始まるURLをあらかじめコピーしておいてください。URL表示欄右横のをクリックすると、コピーできます。
次に、EclipseのパッケージエクスプローラーでFirstEGitProjectプロジェクトフォルダを右クリックし、表示されたメニューから
[チーム] > [ブランチのプッシュ]
を選択してください(図20)。
すると、図21の宛先Gitリポジトリ画面が表示されます。
[ロケーション]の[URI]欄に先ほどコピーしたURLをペーストしてください。他の入力欄が自動的に入力されます。その上で、[認証]の[ユーザ]と[パスワード]にGitHubのログインIDとパスワードを入力してください。[セキュアストアに保管]のチェックを入れておくと、この後、IDとパスワードの入力を省略できます。一通り入力できたら、[プレビュー]をクリックします。図22のリモートのブランチへプッシュ画面が表示されます。
プッシュ内容が表示された画面ですので、特に問題なければ、そのままもう一度[プレビュー]をクリックします。すると、図23のプッシュ確認画面が表示されます。
[プッシュ]をクリックしてください。無事プッシュが行われると、図24のプッシュ結果画面が表示されます。[閉じる]をクリックして、この画面を閉じます。
これで、無事プッシュが完了し、ローカルリポジトリとリモートリポジトリが同期されました。この状態で、GitHubのリポジトリの画面を表示させると、図25のようになっており、無事、ローカルファイルがリモートリポジトリに格納されていることがわかります。
すでにあるリポジトリへの対応
前節で、初期作業は終了したことになります。以降は、存在するこのリポジトリに対して作業を行っています。
コミット対象外のファイルの追加
先述の通り、ファイルの追加や編集を行ったら、Gitステージングビューを利用して、ステージング→コミットを行っていきます。図26は、試しにHelloWorldクラスを追加した状態のパッケージエクスプローラーです。
この状態でGitステージングビューは図27のようになっています。
コーディングしたHelloWorld.javaファイルだけでなく、コンパイルされたHelloWorld.classファイルも対象として表示されています。しかし、コンパイルされたファイルはGitの管理対象として外す必要があります。そこで、HelloWorld.classファイルを右クリックし、[無視]を選択してください(図28)。
すると、Gitステージングビューは、図29のように変わり、.gitignoreファイルが追加されています。あとは、これらのファイルを、ステージング、コミット、プッシュを行えばよいです。
リモートリポジトリのクローン
最後に、リモートリポジトリのクローンの方法を紹介します。パッケージエクスプローラーの余白部分を右クリックし、
[表示] > [Gitリポジトリ]
を選択してください。図30のGitリポジトリビューが表示されるので、[Clone a Git repository]をクリックします。
すると、図21と同様の画面が表示されるので、URLとユーザとパスワードを入力し、あとは、そのまま[次へ]をクリックして進めていけば、クローンできます。ただし、ウィザード最終画面である図31のローカル宛先画面の[ディレクトリー]に、ワークスペースを設定するようにしておいた方がいいでしょう。
まとめ
今回は、EclipseでGitを操作するプラグインであるEGitの使い方を紹介しました。次回は、データベースの設計が行えるプラグインである、ERMasterを紹介します。