チームエクスプローラーのブランチの一覧に "remotes/origin" という名称のブランチが表示される - Visual Studio
ブランチの一覧に "remotes/origin" という名称のブランチが表示される動作について紹介します。
動作の確認
Visual Studio を起動しチームエクスプローラーを表示します。操作するGitリポジトリに接続し、ホーム画面の[ブランチ]タイルをクリックします。
下図のブランチ画面が表示されます。
[アクティブな Git リポジトリ]のセクションに作成したブランチやメインの "master" ブランチが表示されていますが、それ以外に "remote/origin" という名称のフォルダが表示されています。
フォルダを開くと [remote/origin]のフォルダの中に、作成したブランチの名称と同じブランチの項目や master ブランチの項目が表示されています。
解説
"remote/orign" はGitの「追跡ブランチ」(tracking branch) と呼ばれるブランチになります。
ローカルのファイルの編集がうまくいかず、リポジトリの元のファイルに復帰したい場合、SubVersionやCVSでは、再度サーバーからチェックアウトする必要がありますが、Gitではローカルにサーバーからチェックアウトした時点のファイルの状態が「追跡ブランチ」に保存されています。そのため、元の状態に戻す場合は、「追跡ブランチ」の内容をローカルのファイルに上書きすることで元の状態に戻せます。
追跡ブランチはリモートリポジトリの複製のため、ローカルリポジトリへのコミットでは変更されません。リモートリポジトリにプッシュして、リモートのGittリポジトリが更新されると「追跡ブランチ」も更新されます。
リモートリポジトリをローカルに複製する際には、ローカルにリポジトリの複製が作成されますが、同時に追跡ブランチと呼ばれるブランチも作成されます。
子のブランチは remotes/origin と呼ばれます。
リモートリポジトリを複製後、ローカールブランチのファイルを編集しますが、ファイルの編集に失敗したり、あちこち変更したため元の状態に戻したくなった場合を考えます。
Subversionではファイルを削除して再度リモートのリポジトリの更新をするとサーバー側のリポジトリのファイルが取得できます。
一方、Gitの場合は、リモートリポジトリの内容と同じものが追跡ブランチに保存されているため、追跡ブランチのファイルをロカールブランチにコピーすることで元の状態に戻せます。
ファイルを変更してローカルリポジトリにコミットすると、ローカルリポジトリにコミットが作成され、master の位置が先頭に伊藤します。
リモートリポジトリに対してプッシュするとローカルリポジトリのコミットがリモートリポジトリへ反映されます。
追跡ブランチはリモートリポジトリの複製になるため、リモートリポジトリにプッシュされると追跡ブランチも最新の状態に更新されます。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。