第1回 Visual Studio Onlineで使える二つのバージョン管理システム:連載:TFVC vs Git(6/8 ページ)
本連載ではVisual Studio Onlineの特徴でもある集中型と分散型の2種類のバージョン管理について比較紹介する。
コミットに必要な設定ができたら、最初のコミットをしてみよう。
最初のコミット
コミットはチームエクスプローラーの[変更]ウィンドウで行う。チームエクスプローラーに[変更]ウィンドウが表示されていない場合には、先ほど述べたのと同様にソリューションエクスプローラーでソリューションを右クリックして、コンテキストメニューから[コミット]を選択するか、チームエクスプローラーの[ホーム]ウィンドウで[変更]ボタンをクリックする。これにより以下のような[変更]ウィンドウが表示される。
Gitでコミット(1)
(1)[同期されていないコミット]ウィンドウを表示する。
(2)コミットメッセージを登録する(必須)。
(3)コミットを行う。
(4)[エクスプローラーで開く]、[コマンド プロンプトを開く]、[履歴の表示]といったコマンドが登録されている。
(5)登録済みの作業項目を検索するクエリを実行する。
(6)作業項目のID(画像では「137」)を指定して、作業項目を追加する。複数指定可能。
作業項目と関連付けておくと、コミットの作業を追跡できる。作業項目の作り方は以下の連載を読んでほしい。VS 2010時代の記事だが基本は変わっていない。
コミットメッセージを入力し、[コミット]ボタンをクリックすると、コミットが実行され、次のような画面が表示される。
ローカルのコミットが成功すると、コミットハッシュが生成/表示される。コミットハッシュとは、コミットを一意に識別するための値でGitが自動的に作成する値だ。このハッシュ値でコミットを追跡できるが、作成時点では特別意識する必要はない。
なお、コミットを行う前であれば、コミットと同時にプッシュもしくは同期を行うことも可能だ。次回紹介するブランチとマージでこの辺りは詳しく紹介する。
Gitでコミットとプッシュ、同期
(1)ローカルにコミットのみ行う。
(2)ローカルにコミットした後、リモートリポジトリに登録する。
(3)ローカルにコミットして、リモートリポジトリの変更を反映する。
コミットをした時点ではローカルリポジトリに登録されているだけなので、次に[同期されていないコミット]リンクをクリックして、同期されていないコミットを表示する。
Gitでコミットとプッシュ、プル
(1)ローカルリポジトリとリモートリポジトリの同期を行う。
(2)リモートリポジトリの変更を反映する。
(3)リモートリポジトリに変更を出力する。
(4)リモートリポジトリで行われた変更が表示される。
(5)ローカルリポジトリで行われた変更が表示される。
冒頭で説明したように、Gitにはローカルリポジトリとリモートリポジトリがある。コミットはローカルリポジトリに登録するだけなので、それがリモートリポジトリには反映されない。リモートリポジトリに反映するためには、プッシュを実行する。
ローカルコミット後に表示される[同期されていないコミット]リンクや[同期]リンクをクリックすると、上記の画面にまだ同期されていないコミットが表示される。[入力方向のコミット]には、サーバー側で他のメンバーが更新したファイルのうち、まだローカルリポジトリに同期(pull)されていないコミットが、[出力方向のコミット]にはまだリモートリポジトリに出力していないコミット(push)が表示される。
[プッシュ]リンクもしくは[同期]ボタンをクリックすると、リモートリポジトリにローカルコミットが反映される。
表示されたメッセージにある「origin」とは、クローンしたGitのリモートリポジトリを表す名称のことだ。この場合は、「VS Onlineで提供されているリモートリポジトリのmasterブランチにプッシュが完了した」ということになる。
チームエクスプローラーの[ホーム]ウィンドウにある[Web ポータル]リンクをクリックするなどして、WebブラウザーでVS OnlineのWebポータルを表示し、[CODE]−[Commits]の順にリンクをクリックすると、コミットの履歴が表示される。
これで最初のコミットは完了だ。次に、今作成したソリューションのコードを修正して、その修正を追跡してみよう。
Copyright© Digital Advantage Corp. All Rights Reserved.