Lesstep
Azure DevOps Services・Git のリモートと REST API・2026年10月30日に確認

Azure DevOps の Git のリモート URL:dev.azure.com・visualstudio.com・DefaultCollection

Azure DevOps には https://dev.azure.com/{organization} と、昔からの https://{organization}.visualstudio.com の2つの住所があり、年月をかけてクローンされたリポジトリには、いくつもの形のクローンの URL が残っています。その多くは今も git で通ります。どれが通るか、各部分が何を意味するか、ツールがどこで間違えるかを、公開リポジトリにサインインなしの git ls-remote で確かめました。

すべての形を試した結果

2026年10月30日、プロジェクトと同じ名前の公開リポジトリと、違う名前の公開リポジトリで:

こうして通らない URL は、サインインしていない人には「見つからない」と言いません。git がユーザー名を求めます。Azure DevOps は、非公開か無いリポジトリへの求めにサインインで答えるからです。サインインしていれば、プロジェクトの部分の同じ間違いは TF200016: The following project does not exist になります。

SSH では、2つの住所にそれぞれの形があります(REST API が返すもの):git@ssh.dev.azure.com:v3/{organization}/{project}/{repository} と {organization}@vs-ssh.visualstudio.com:v3/{organization}/{project}/{repository}。どちらも必ずプロジェクトを含みます(2026年の Azure DevOps と SSH)。

自分の組織がどちらの住所か

組織にはどちらかの形の「プライマリ URL」があります。2018年9月10日以降に作った組織は dev.azure.com、それより前の組織は visualstudio.com で始まり、管理者が変えられます(Microsoft の 組織の URL を扱う)。プライマリ URL は、パイプラインの SYSTEM_TEAMFOUNDATIONCOLLECTIONURI や、通知・サービスフックのリンクに使われます。どちらにしても、git と REST API には両方の形が通ります。

調べるのにサインインは要りません:

GET https://dev.azure.com/_apis/resourceAreas/79134C72-4A58-4B42-976C-04E7115F32BF?accountName={organization}&api-version=5.0-preview.1

{"id": "79134c72-4a58-4b42-976c-04e7115f32bf", "name": "core", "locationUrl": "https://dev.azure.com/{organization}/"}

組織でない名前には、同じ求めが 404 と TF400677: Host … does not exist. を返しました。

REST API は、呼ばれた形で答えます。visualstudio.com で求めると、リポジトリの remoteUrl は https://{organization}.visualstudio.com/{project}/_git/{repository}、sshUrl は vs-ssh.visualstudio.com のもの。dev.azure.com で求めると https://{organization}@dev.azure.com/{organization}/{project}/_git/{repository} と git@ssh.dev.azure.com:v3/…。どちらにも DefaultCollection は付きませんでした。

リモートを dev.azure.com に切り替える

  1. 今のリモートを見ます:git remote -v
  2. 新しい URL を Repos > Files > Clone から写すか、上の結果から書きます:DefaultCollection を外し、プロジェクトが無ければ入れ(URL に無かったときはリポジトリの名前)、.git は付けません。
  3. 設定します:git remote set-url origin https://dev.azure.com/{organization}/{project}/_git/{repository}、続けて git fetch。

サーバーの側は何も変わらず、切り替えていない人には古い URL がそのまま通ります。資格情報ヘルパーはサインインを住所ごとに覚えるので、新しい住所での最初の fetch で一度サインインを求められることがあります(Git Credential Manager 3.0 と Azure Repos)。

ツールが間違えるところ

パスを位置で切り分けるツールは、古い形を読み違えます:DefaultCollection や _git をプロジェクトと取り違えたり、そもそも Azure DevOps の URL と見なさなかったり。公開の報告(2019〜2026年)では、エディターの拡張機能、デスクトップのコーディングアプリ、依存関係の更新ツールがこうして失敗し、多くは TF200016 になりました。git では通るのに、あるツールだけがリポジトリを見つけられないなら、リモートを見てください。プロジェクトの入った dev.azure.com の形が、どのツールも前提にしている形です。

IntelliJ IDEA と Rider で Azure DevOps のプルリクエストを

Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。組織・プロジェクト・リポジトリを git のリモートから読みます。上の形のうち git で通るものは全部(プロジェクトの無い形は 1.0.72 から)、SSH のリモートも読めます。そのうえで、自分のレビューを待っているプルリクエストを IDE のツールウィンドウに並べます。Azure DevOps Services でも Azure DevOps Server でも使えます。レビューの受け箱と差分は無料、投票・コメント・完了・作成は Pro(30日間の無料試用つき)です。画面は日本語です。

JetBrains Marketplace で入れる

Azure DevOps と Visual Studio は Microsoft Corporation の商標、IntelliJ IDEA と Rider は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:TF200016:その名前のプロジェクトが無い · 2026年の Azure DevOps と SSH · Git Credential Manager 3.0 と Azure Repos · English