Azure DevOpsのプロジェクトでVSTSからGitへの切替2022年06月23日 18:15

VisualStudioを用いた開発において、Azure DevOpsでソース管理をするとき、最近はGitを標準で勧めてくる。そこで、これまでVSTS(Visual Studio Team Foundation Services)で管理してきたソリューションについて、Gitへの切替を試みる。

Create New Project

最初に、Azure DevOpsでバージョン管理をGitに設定した空のプロジェクトを作成する。

初期設定

ユーザ名とパスワードを保存し、リポジトリの場所を記録する。

プラグインの選択

VisualStudioを起動し、切替対象のソリューションを開く。オプションの「ソース管理」で、ソース管理プラグインを「Git」に設定する。

Gitグローバル設定

Gitグローバル設定を確認。ここでは、既定の場所を変更している。

リポジトリの設定全般

Gitリポジトリ設定の「全般」を確認。

リポジトリの設定リモート

Gitリポジトリ設定の「リモート」で、先にAzure DevOpsで記録したリポジトリの場所を転記する。

Gitリポジトリの作成

ローカルにGitのリポジトリを作成。先に、Azure DevOpsでプロジェクトを作成しているので、「既存のリモート」を選択して、「リモートURL」を設定。

Git変更

これで「Git変更」のパネルから、ローカルのソースのPushができるか、確認。

ソース管理プラグインはソリューション単位の設定であり、別のVSTSを用いているソリューションを開けば、これまで通り、VSTSのソース管理が動作する。VisualStudioの共通の設定として保存されるわけではない。

切替によりGitならではの制御が可能になるが、VSTSで不都合を感じてなければ敢えて移行する必要はない感じ。なお、Gitに切替てもAzure DevOpsのBoardsなどのサービス類は変わらず利用できる。新規作成なので空からのスタートになるけど。

push

ひとついいことがあった。
Gitに切り替えておくと、ローカルで運用しているGitHub互換のリポジトリに複写ができるようになる。remoteのリポジトリをAzure DevOpsとは別にローカル用に登録し、TortoiseGitなどのクライアントツールでPush時に選択すれば、複写を生成できる。VSTSの場合、「.git」のGit環境フォルダがあると、ソース管理プラグインをGitと認識するので、複数のリポジトリを選択して運用することができない。これを回避できる。