5

プロジェクトに追加Source Control (git)しました。でプロジェクトも作成しましたTeam Foundation Service with git。のプロジェクトTeam Foundation Serviceは、私の に接続されていVisual Studioます。私は持っていEnabled alternate credentialsます。リファレンスRef1およびRef 2

私が走るとき;

git remote add origin https://yourname.visualstudio.com/DefaultCollection/_git/ProjectName

それで:

git push origin master

私はこれを得る:

' https://yourname.visualstudio.com ' のユーザー名:`

ユーザー名を入力した後:

Password for 'https://username@hotmail.com@yourname.visualstudio.com':

パスワードを入力した後:

致命的: https://yourname.visualstudio.com/DefaultCollection/ProjectName/info/refs が見つかりません: サーバーで git update-server-info を実行しましたか?

これに対する解決策が見つからないようです。どうすればこれを成功させることができますか?

4

1 に答える 1

5

リポジトリをローカルに作成してリモートを追加しようとするのではなく、TFS Git リポジトリのクローンを作成してソースを追加することができます。

これgit cloneにより、(うまくいけば)正しいリモートがセットアップされ、追加してコミットしたコードをプッシュバックできるようになります。


Johan Leinoは、 「SourceTree + TFS Service + HTTPS: Login failed」へのコメントで指摘しています。

これをテストするために無料の TFS アカウントをセットアップし、問題を再現できました。http://git-scm.com
から Git の標準インストールを使用して再現することもできます。そのままでは、TFS は標準の Git では動作しないようです。

ただし、TFS で「代替認証資格情報」を許可することで機能させることができます。

  1. 右上のユーザー名をクリックし、[マイ プロフィール] を選択します。
  2. 「資格情報」タブを選択します
  3. [代替資格情報を有効にする] をクリックします。
  4. セカンダリ ユーザー名の横にある [設定] をクリックし、「@」文字を含まないユーザー名を選択します
  5. パスワードを設定する

4 と 5 はオプションのようですが、とにかく実行しました。
これを行うと、完全な電子メールをユーザー名として使用するか、作成した代替ユーザー名を使用して、TFS からクローンを作成できました。

デフォルトの TFS 認証は、VS ツールでのみ機能するある種のカスタム システムのようです。この代替認証を有効にするだけで、他のシステムで機能します (なぜこれがデフォルトではないのですか?)

于 2013-04-26T21:54:21.347 に答える