TFSでGitをサポートした以上、Visual StudioでもGitをサポートするのが筋というものであり、当然と言わんばかりにMSからGitのVS拡張(TFS機能の拡張)が登場しました。
Visual Studio Tools for Git (Preview)
インストール
Visual Studio Tools For Gitのインストールを行うには、同日に公開されたUpdate2 CTPのインストールが必要です。
以下から”vsupdate_KB2707250.exe”ダウンロードします。(日本語版VSの場合にはちゃんと日本語を選択すること)
Visual Studio 2012 更新プログラム 2 CTP 2
ダウンロードしたら、exeを起動します。ネットワークインストーラーになっているので、ネット接続環境が必要です。
インストール後のバージョン確認。CTP2であればOK
Update2 CTPのインストールが終わったら、以下のサイトからVisual Studio Tools for Git をダウンロードして実行します。
実行するとインストーラーが起動します。
「どうせPro以上なんでしょ」と思っていたらExpress Editionに対応しています。ぐっときますね!
インストール後の設定です。ここでは、VS Express 2012 for Webで設定、試用していきます。
まずはソースコントロールプロバイダの設定をします。
上の図の様にMicrosoft Git Providerを選択します。
ここまででインストールとしてひとまず終了です。
使ってみます
レポジトリの作成
ソリューションを右クリックし、”Add Solution to Source Control”を選択します。Create Repoとかじゃねーのかよ。ここで若干のセンスのなさにガタッときてますがこれでレポジトリが作成されます。
どっちでソースコード管理するだと言うダイアログが出るので、当然Gitを選択。
これソリューションのディレクトリにGitのレポジトリが作成されます。
コミット
そして、コミットしてみましょう。同じくソリューションを右クリックし、Commitを選択します。
選択するとコミットのウインドウがチームエクスプローラー他部内に表示されます。
左上の方にあるCommitボタンをクリックでこみっとです。コミットコメントをどこに入力すればいいのかとかちょっとっつきにくいです。
コミットすると上の様になります。
ログの表示
コミットログの確認をするには、ソリューションエクスプローラーで右クリックしてView Historyを選択します。MSっぽいけどログって言葉を使ってほしいですね。
選択するとログ画面になります。
VSのメインのページにコミットがリストで表示されます。
ログの詳細を確認するには、コミットを選択し、右クリックしてView Commit Detailを選択します。
チームエクスプローラにコミットの詳細が表示されます。
ブランチのツリーなどがこの画面で確認出来ないのは視覚的に不安ですね。本当に全体ログの見方がわからない。
ちなみにTortoiseGitではこんな感じのログ表示。
ブランチ
チームエクスプローラーでGit Changeを選択します。
Changesが表示されたらView Commisを選択します。
View Branchesを選択します。
Brachesが表示されます。
Currentに現在のブランチが表示されています。
新しいブランチを作成するにはNew Branchを選択します。
ブランチ名を入力してCreate Branchをクリックでブランチが作成されます。このときCheckout branchにチェックが入っていると作成したブランチにチェックアウトします。
ブランチが作成されました。
ブランチを切り替えるには、Branchesで切り替えたい先のブランチのリストを右クリックしてSwitchを選択します。なんでCheckoutじゃないんですかね。。。
masterにチェックアウトしたい場合には、下図の様にmasterを右クリックしてSwitchを選択します。
切り替わります。
マージ
ブランチ作成時と同じ手順で、チームエクスプローラでBranchesに移動します。
そこでMergeを選択します。
下図の様にどのブランチをどのブランチへマージするか選択し、マージをクリックします。
マージが成功するとこのようになります。
このマージ–no-offオプションをつけたりするオプションがGUI上無くちょっと気分がお重くなりますね。。。
パッケージマネージャコンソール
パッケージマネージャーコンソールでGitのコマンドライン コマンドが使用出来ます。
おお、すげー。というか、パッケージマネージャーっていったい。。。
ただすごく残念な感じで、Git logとか文字化けするし、カラーじゃ無いって事ですね。
まとめ
TFSとGitとの用語の混在とか、マージの制御が出来ないとか荒削りなところが目立ちますし、TFSの人が仕方なくGitを使うならともかく、Gitメインと考えるとブランチに関する作業にたどり着くまでの意味の無い階層の深さとか、そもそもチームエクスプローラーいるのか、なんでソリューションエクスプローラで処理が完結出来ないんだとか使い勝手の悪さというか、正直、GitをVSから使うという視点で見た場合には苦痛ですらあります。
あと、Pull, Push関係はまだ試していないのですが、何となく嫌な予感がするのと、複数のリモートを持てないんですかねとか、ReBaseってどこにも出てこないんですけど。。。
とはいえ、まだまだ第一歩ですし、まだ正式リリースでも無いので、これからの改良発展に期待したいところ。
ところでどこにフィードバックすればいいんでしょうか。
コメント
Akira Inoue liked this on Facebook.
Masakazu Sano liked this on Facebook.