Github を Windows で利用する(ローカルPCにリモートリポジトリの複製を作る)
Githubを使って、リモートリポジトリの複製(ローカルリポジトリ)をローカルPCに作成し、ローカルリポジトリで変更したソースコードをリモートリポジトリに反映させる手順です。
「Github を Windows で利用する(Git GUI編)」では新規のリポジトリ作成からの流れを説明しましたが、ローカルリポジトリが存在しない状態での手順を記していなかったので、本エントリーで紹介します。
Git Bashはネット上での情報が多いので、1項の「リポジトリの複製」のみにとどめ、後はGit GUIを使って作業します。
1.リポジトリの複製(ローカルリポジトリの作成)
Git Bashを起動します。

MS-DOSのようなウィンドウが開くので、cdコマンドでローカルリポジトリを作成したいディレクトリに移動します。
移動後、「git clone」コマンドを実行します。「git clone」コマンドは、svnの「svn co」と同じような動作になります。「git clone」の後にリモートリポジトリを指定します。
リモートリポジトリの取得プロトコルは、SSH/HTTP/Git Read-Onlyの3種類があります。ここではSSH(git@github.com~)を使用しています。
git clone git@github.com:xxx/xxxx.git
このあと、「Enter passphrase for key...」という風に、SSHのパスフレーズを尋ねられるので、sshキーを入力します。sshキーの設定は「Github を Windows で利用する(Git GUI編)」を参照してください。
認証OKであれば、リモートのリポジトリの複製(ローカルリポジトリ)が作成されます。
この後、ローカルリポジトリでソースコードの修正作業を行います。
2.ローカルリポジトリでのコミット
Git GUIを起動し、作成したローカルリポジトリを指定します。
ソースコードの修正を行っている場合、変更されたファイルが表示されているので、まずコミット作業を行います。
具体的には、「コミット予定に入っていない変更」からファイルを選択して、「コミット」→「変更されたファイルをコミット予定」を選択します。
「コミットメッセージ」に任意のメッセージを入力して「コミット」をクリックします。これで、ローカルリポジトリ上でのコミットが完了します。
3.リモートリポジトリへのプッシュ
ローカルリポジトリの変更をリモートリポジトリへ反映(プッシュ)します。2項の状態から「プッシュ」をクリックします。

開いた画面にある「リモート」から「origin」にして、「プッシュ」をクリックします。「git clone」コマンドでリポジトリを複製すると、リモートリポジトリに「origin」という別名がつくので、このような指定を行います。
最後にSSHのパスフレーズを尋ねられるので、入力します。認証OKであればリモートリポジトリへプッシュが実行されます。
Github を Windows で利用する(Git GUI編)
Github を Windows で利用する方法を紹介します。このエントリーではGit GUIというツールを利用して、
- リモートリポジトリの作成
- ローカルリポジトリの作成
- ローカルリポジトリのコミットとリモートリポジトリへのプッシュ
- ファイル更新時のコミットとリモートリポジトリへのプッシュ
等について紹介します。「githubの使い方が分からない」というビギナー(私も含め)のためのエントリーです。GUIのオプション設定など詳細な設定は割愛していますので予めご了承ください。
なお、以降の操作を行う前にgithubのアカウント取得は完了させておいてください。
1.ダウンロード
githubのサイトにある「Help」をクリック。

右側のメニューから「Intermediate」の中にある「Install Git HTML help」をクリック。

Windowsの説明にある「Msysgit」をクリック。

「Downloads」タブをクリック。

「Git-1.7.6-preview20110708.exe(2011年9月現在の最新バージョン)」の「↓」をクリックすればダウンロードできます。

2.Gitのインストール
前項でダウンロードした実行ファイルをダブルクリックして実行します。
「Next」をクリック。
「Next」をクリック。
Gitのインストールフォルダを指定して「Next」をクリック。
デフォルトのまま「Next」をクリック。
スタートメニュー名を設定して「Next」をクリック。
「Usr Git Bash only」を選択して「Next」をクリック。
改行コードを選択して「Next」をクリック。
インストールが開始します。
「Finish」をクリック。
3.SSHキーの作成
githubを利用するにはSSHキーの作成が必要です。
「スタート」→「すべてのプログラム」→「Git」→「Git GUI」を選択してGUIを起動します。
「ヘルプ」→「SSHキーを表示」を選択。
「鍵を作成」をクリック。

任意のパスフレーズを入力します。

もう一度、同じパスフレーズを入力します。

「あなたの鍵は~にあります」という表示と、鍵(ランダムな文字列)が表示されればOKです。
表示されたキーは4項で使うので、「クリップボードにコピー」でコピーしておいてください。また、入力したパスフレーズは8項の作業にある「リポジトリにプッシュ」で利用するので、忘れないようにしてください。

4.SSHキーの登録
作成したSSHキーを、githubの自アカウントに登録します。
自分のアカウントでログインでしたgithubのページで「Account Settings」をクリック。
![]()
「SSH Public Keys」をクリック。

「Add another public key」をクリック。

「Title」に適当な名称を設定して「Key」にさきほどコピーした内容をペーストして「Add Key」をクリック。

登録後は次のような表示になります。「Add another public key」をクリックすれば他のPCなど、別のSSHキーを登録できます。編集する場合は「edit」、削除する場合は右側の×印をクリックします。

5.リポジトリ(リモート側)の作成
自分のアカウントでログインでしたgithubのページで「Dashboard」をクリック。
![]()
「New Repository」をクリック。

「Project Name(プロジェクト名)」「Description(説明)」「Homepage URL(ホームページのURL)」を入力して「Create Repository」をクリック。それぞれの項目は後で変更できます。
このような画面が表示されるので、このままにしておいてください(この後の作業で、リモート側のリポジトリを入力するために表示されているデータを利用します)。
本エントリーではGit Bashではなく、Git GUIで説明しますが、Git Bashを利用する場合は、上の画面に表示されているようなコマンドを入力しながら、ローカル側のリポジトリを作成します。
6.リポジトリ(ローカル側)の作成
「スタート」→「すべてのプログラム」→「Git」→「Git GUI」を選択してGUIを起動します。
「新しいリポジトリを作る」をクリック。
リポジトリにしたいディレクトリを入力して「作成」をクリックします。「ブラウズ」をクリックすれば、リポジトリにしたい作成済みのフォルダを指定することができます。作成すると、指定したディレクトリ直下に「.git」というフォルダが作成されます。
このような画面が開きます。左上の「コミット予定に入っていない変更」は、作成したリポジトリにある、まだコミットされていないファイルが表示されます。リポジトリを作成した後にコミットしたいファイルを配置した場合、真ん中あたりにある「再スキャン」、またはメニューバーの「コミット」→「再スキャン」を選択すれば、同じように表示されます。
7.ファイルのコミット(確定)
「コミット予定に入っていない変更」に表示されているファイルを選択して(ShiftキーまたはCtrlキーを押しながらクリックすれば複数選択可能)、「コミット」→「コミット予定する」を選択します。
warningが出た場合は「続行」をクリックします。

これで、選択したファイルが「ステージングされた(コミット予定済みの)変更」に移動します。
「ステージングされた(コミット予定済みの)変更」にある、コミット対象のファイルを先程と同様の手順で選択します。そして、「最初のコミットメッセージ」に任意のメッセージを入力して「コミット」をクリックします。
コミットが完了すると、ウィンドウの左下に「コミット~を作成しました」が表示されます。

8.コミットしたファイルをリポジトリへプッシュ
「プッシュ」をクリックします。プッシュは、コミットファイルのリモート側への送信を行います。

次のウィンドウが開くので、「送り先リポジトリ」に、「4.リポジトリ(リモート側)の作成」で作成したリポジトリの「次の手順:」に記載されているリモート側のリポジトリ名を入力します。ここでは「git@github.com:koikikukan/mt-plugin-entry-exporter.git」を入力しています。設定後、「プッシュ」をクリックします。
プッシュ状態を示す画面が開きます。
上記の画面が開いたまま、SSHのパスフレーズを尋ねる画面が開くので、「3.SSHキーの作成」で入力したパスフレーズを入力します。

プッシュ状態を示す画面に「成功」が表示されればプッシュ完了です。
リモート側のリポジトリが次のように表示されます。
9.ファイルの内容を更新してリモートリポジトリに反映させる
「スタート」→「すべてのプログラム」→「Git」→「Git GUI」を選択してGUIを起動します。さきほど利用したリポジトリが「最近使ったリポジトリを開く」に登録されるので、それをクリックします。
変更されたファイルが自動的に抽出されます。
コミットとプッシュの手順は「5.リポジトリ(ローカル側)の作成」と同様ですが、今度は「コミット予定に入っていない変更」から選択したあと、「コミット」→「変更されたファイルをコミット予定」を選択します。
以降のコミットとプッシュの作業は7項・8項と同じ要領で行ってください。
2011.09.08
4項の作業が抜けていたので追加しました/日本語のスクリーンショットを英語表記のものに差し替えました/6項の説明を6~8項に分割しました/1項の説明を現在のバージョンにあわせて最新化しました。