Eclipse(Windows)からGitHubにプッシュする。
GitHubにリポジトリを作って、前回作成したplay2のデフォルトアプリをプッシュします。
GitHubとは、Gitのホスティングサービスで、全世界の人たちとコードを共有出来る場所を提供してくれます。
全世界というと大げさなので、友人とか同僚とかとですね。
今回は、会社の仲間とソーシャルスタディという勉強会をはじめたので、その仲間とコードを共有して行く目的で使って行きます。
ソーシャルスタディの詳しい話は、また別のブログに書きます。
Gitは?っていうと、分散型バージョン管理システム。
Subversionはリポジトリをサーバに集中させるので集中型といいますが、それに対してGitはサーバ上にリモートリポジトリを置いて、
さらに、開発者の端末にローカルリポジトリを配置するので分散型なのです。
何が嬉しいのかというと、自分の端末にリポジトリがあるのでオフラインでも使えますし、コミットを失敗して仲間に迷惑をかけることもありません。
リモートリポジトリにPushするまでは、気兼ねなくコミットが出来ます。
最近特にGitがいいな、と思うのは複数コミットをひとつにまとめられること。
細かくコミットされているとコードレビューにかなり苦労していたりします。
詳しくは「サルでもわかるGit入門」を。
では、GitHubのアカウントの作成から、リポジトリを作って、play2のアプリをプッシュするところまで行きます。
1. Gitのインストール
以下のサイトからGit for Windowsをダウンロードします。
ダウンロードしたインストーラを起動します。
執筆時の最新は「Git-1.8.1.2-preview2013201.exe」
「Next」
「Next」
任意のインストール先を入力して「Next」
「Next」
「Next」
「Checkout Windows-style,commit Unix-style line endings」のまま「Next」
Checkoutの時の改行コードは「CRLF」、コミットの時は「LF」。
2つ目の「Run Git from the Windows Command Prompt」を選択し「Next」
EclipseからもGitを使うのでこうしておいた方が良さそう。
「Finish」
これで「Git for Windows」のインストール完了です。
続いて、「Git Bash」を起動してGitの設定をしておきます。
設定するのは名前とメールアドレス。
名前:yugolf メールアドレス:xxx@gmail.com
上記の場合は以下のコマンドを実行。
git config --global user.name "yugolf" git config --global user.email "xxxx@gmail.com"
※プロキシ環境化の場合は、プロキシの設定も必要です。
git config --global <プロキシサーバ名>:<ポート>
2. GitHubのアカウント作成
GitHubのページからアカウントを作成します。
ユーザ名、メールアドレス、パスワードを入力し「Sign up for free」。Freeです。
3. SSH Keyの設定
「Git Bash」から以下のコマンドを実行しSSH Keyを作成します。
ssh -keygen -t rsa -C "xxxx@gmail.com"
パスワードを設定するよう要求されるので、パスワードを2回入力。
先ほど作成したアカウントでGitHubにログインし、SSH Keyを登録します。
画面右上の「Account settings」をクリック。
画面左の「SSH Keys」をクリックし、右上「Add SSH key」をクリック。
下に出てくる「Add an SSH Key」に、任意の「Title」を設定し、「Key」には先ほど作成した「SSH Key」を貼付けます。
貼付けるのは「C:¥Documents and Settings¥<ユーザ名>¥.ssh」にある「id_rsa.pub」の内容をそのままでOK。
4. リポジトリの作成
画面右上の「Create a new repo」からGitHubにリモートリポジトリを作成します。
「Repository name」「Description」を入力、「Public」を選択し、「Create repository」をクリックするとリポジトリが作成されます。
5. EclipseのプラグインEgitをインストール
Eclipseを起動し、「ヘルプ」->「新規ソフトウェアのインストール」を選択します。
作業対象で「Juno - http://download.eclipse.org/releases/juno」を選択し、表示された「名前」から「コラボレーション」の「Eclipse EGit」と名のつくものをすべてチェックします。
選択肢にない場合は、「追加」から追加しましょう。
Pleiades All in oneを使った場合は、既にインストールされているものもあります。
「次へ」・・・と流れに従ってインストール。
6. Eclipseの設定
Eclipseから「ウィンドウ」->「設定」を選択し、「設定」画面を表示します。
画面左のメニューから「チーム」->「Git」を選択、「複製リポジトリー」の「デフォルト・フォルダー」は
「C:¥Documents and Settings¥<ユーザ名>¥.git」とし、「OK」。
既に設定されている場合は、特に変更しなくてもOK。
ついでに「構成」の内容も確認しておきましょう。
「Git Bush」で設定したユーザ名、メールアドレス、プロキシ(設定した人のみ)が設定されているはずです。
7. play2アプリケーションをローカルリポジトリにコミット
pay2のアプリケーションを「GitHub」で共有します。
「パッケージ・エクスプローラー」でplay2のアプリケーションを右クリックし、「チーム」->「プロジェクトの共用」を選択。
もちろん「Git」を選択し「次へ」。
「プロジェクトの親フォルダー内のリポジトリーを使用または作成」をチェックし「リポジトリの作成」をクリック後「次へ」。
これをチェックするとEclipseのworkspaceにローカルリポジトリが作成されるのですが、この設定にしないとGitHubにプッシュした時に余計なディレクトリ階層が1個できてしまったので、チェックして進めます。
プロジェクトがチーム共用となりました。
続いて、ローカルリポジトリへコミット。
「パッケージ・エクスプローラー」でplay2のアプリケーションを右クリックし、「チーム」->「コミット」を選択。
コミット・メッセージに「first commit」と入力し、コミットしたいファイルをチェック。「.target」と「bin」以外にします。
「Push the chages to upstream」をチェックし、一気にGitHubのリポジトリにプッシュします。
8. play2アプリケーションをGitHubにプッシュ
「宛先Gitリポジトリー」にプッシュするリポジトリを設定します。
「URI」を設定すると、自動的に「ホスト」「リポジトリー・パス」が設定されます。
プロトコルは「https」。
「認証」にはGitHubのユーザとパスワードを設定し「次へ」
「URI」はGitHubのリポジトリ作成直後の画面から確認出来ます。
「Add create/update specification」の「ソーズ参照」は「master」選択し「Add Spec」をクリック。
「Specification for プッシュ」に表示されたのを確認して、「完了」。
あとは流れに沿っていけば、GitHubへのプッシュが完了します。
GitHubのリポジトリを確認すると、play2のアプリケーションがプッシュされているのが分かります。
これで、play2のアプリケーションは全世界に公開された事になります。
※コミット時にプッシュせず、あとからプッシュだけする場合は、「パッケージ・エクスプローラー」でプロジェクトを右クリックし、「チーム」->「リモート」->「プッシュ」からやります。
今回はEclipseからのGit利用を紹介しましたが、GUIツールとして「TortoiseGit」や最近Windows向けのベータ版が出た「SourceTree for Windows」もあります。
でも現時点(2013.1)では「sourcetree-for-windows-beta-signup」は64bit版しかないようですね。