Visual Studio 2013の Git を使う① GitHubへPushするまで

2014年6月21日

Visual Studio 2013のGitによるバージョン管理をざっくりと解説します。ここではGitの何たるかは詳しく解説しません。知りたい方は「サルでもわかるGit入門 」等を参照しましょう。

ざっくり図解すると以下のような感じです。

2014-05-30-simple-git

CVSやSVN、Visual SourceSafe等のバージョン管理システムを使った事がある方なら、自分の手元にもリポジトリが持てるバージョン管理システムと考ればしっくり来るかもしれません。

自分で作成したリポジトリを元に、ホスティングサーバーへPushするので、まずはローカルリポジトリを作成します。

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

作成したプロジェクトをソリューションエクスプローラより選択して以下の「ソリューションをソース管理に追加」を選択します。

2014-05-30-create-git-repository-from-solution

バージョン管理システムとしてGitを使用したいので以下のように設定します。

2014-05-30-select-git-for-vs2013

これでプロジェクトのフォルダにGitを管理するファイル群が作成され、Gitを使用したバージョン管理が行えます。

2014-05-30-git-files-for-vs2013

2014-05-30-gitcommand-in-vs2013

2014-05-30-gitcommand-in-vs2013-file

ローカルリポジトリにコミットする

ソリューションエクスプローラにソースを管理するための項目が追加されているので、Commit(コミット)を行います。

コミットを行おうとすると以下のように、更新や追加をするファイルリストが出てきますが、ユーザー情報を構成して下さいとの通知が出ているため指示に従います。この情報はCommitした人物を識別するために使用され、履歴情報等に表示されます。

2014-05-30-first-commit

2014-05-30-set-git-user-info

続いて、コミットメッセージをを入力するとコミットコマンドが実行できるようになります。コミットやプッシュを行う際はメッセージ入力は必須となりますので、概要、内容などを簡素に入力しましょう。

コマンドは「コミット」、「プッシュ」、「同期」となっていますが、コマンドラインやGitホスティングサーバーと合わせて使用する事を考えると、英語名で「Commit」、「Push」、「Pull」と覚えておいたほうがいいと思います。

今はPushは行わずCommitだけ行います。

2014-05-30-input-commit-comment

コミットが成功すると通知が来るので、必要があれば指示に従ってください。

2014-05-30-commit-successful

古いファイルと比較してみる

コミットされた情報は履歴が作成され、誰が何時、ファイルの追加削除編集など、どのような変更を行ったかが記録され、編集状態をその時点まで戻したり、古いファイルと内容を比較したりなどが行えます。

2014-05-30-git-history-for-vs2013

試しにコミットした状態から適当にファイルを変更して比較してみます。

2014-05-30_git-diff-for-vs2013

比較コマンドを実行すると、変更前や以前のバージョンのファイルと内容を比較することが出来ます。コミットメッセージと合わせて確認すれば、他の人の変更の経緯なども読み取れる事でしょう。

2014-05-30-git-diff-detail-for-vs2013

GitHubにリポジトリを作成してPushする

ローカルリポジトリからホスティングサーバーへpushする事で、ローカルリポジトリにCommitしていった過程をポジトリに反映することが出来ます。これでネット越しの場所からでも、Cloneを行う事で開発を継続する事が可能になります。

まずは空のリポジトリが必要なので、GitHubへアクセスし、アカウントへログインしてリポジトリを作成します。

2013-05-30-create-repos-on-github01

必要項目を入力し、Public設定で(このサイトではGitHubはオープンソース用として使います)リポジトリを作成して下さい。

2014-05-30-create-null-repos-on-github

作成が終了すると、リポジトリにアクセスする際に必要な情報が表示されるのでメモしておきましょう。

2014-05-30-put-null-repos-info-from-github

次にVisual Studio 2013 へ戻り、チームエクスプローラより「同期されていないコミット」をクリックします。

2014-05-30-click-unsync-commit-in-vs2013

先ほどのGitHubで作成したリリポジトリのURL(~.git)を入力して発行ボタンを押します。

2014-05-30-pull-repos-github-from-vs2013

発行中にGitHubのログインアカウントを尋ねられるので、これを入力すると発行処理が行われます。

2014-05-30-login-github-from-vs2013

以後はPull(同期)とPush(ローカルリポジトリの最終的なCommitを反映。アップロードの方が話の通りがいいでしょうか?)をボタン一つで行うことが出来るようになります。

2014-05-30-github-pull-successful-from-vs2013

GitHubにも以下のように反映されました。

2014-05-30-testrepos-ongithub

さらに詳しく知りたい方にはこういった読み物もあります。

Visual Studio でのGitの使用
http://msdn.microsoft.com/ja-jp/library/hh850437.aspx