43

Microsoft は、Team Foundation Service で Git リポジトリをサポートするようになりました。Team Foundation Service にアカウントがあり、既存の Git リポジトリをそこのプロジェクトにプッシュしたいと考えています。

検索を試みるたびに、TFS-GIT や GIT-TF などを見つけ続けます。これらはコード リポジトリの Team Foundation Server モデルに変更されると思いますが、それは私が望んでいるものではありません。

具体的には、TFService にプッシュしたい既存の Git リポジトリがあります。

4

6 に答える 6

31

さて、私は明らかにこれを複雑にしすぎていました。これが私がしたことです。

  1. TFService で新しいプロジェクトを作成しました
  2. Visual Studio でそのプロジェクトに接続されている
  3. Visual Studioでそのプロジェクトを複製しました
  4. git pull c:\source\oldGitProject

それだけで、古い場所からすべての変更がプルされ、それを TFService に簡単にプッシュすることができました。

于 2013-03-02T23:11:54.137 に答える
10

上記のいくつかの良い答えですが、これはさらに簡単であることがわかりました。

  • ローカル Git リポジトリを作成します。(または、私の場合は、SVN リポジトリを Git に変換しました。)
  • Visualstudio.com に移動し、Git をソース管理として指定して、新しいプロジェクトを作成します。
  • VisualStudio.com の新しいプロジェクトで [コード] メニュー オプションをクリックします。
  • 画面には、一意のリポジトリの URL を含む、既存のリポジトリをプッシュするための正確な Git コマンドが表示されます。そのコマンドをコピーして、Git コマンド プロンプトに貼り付けるだけです。

    git clone <repository url>

于 2014-01-06T18:57:23.067 に答える
1

今朝見つけたブログの 1 つに、次のドキュメントへのリンクがありました。

http://blogs.msdn.com/b/visualstudioalm/archive/2013/02/06/set-up-connect-and-publish-using-visual-studio-with-git.aspx#publish-tfs

publish と呼ばれる内部コマンドがあるようです(@VonCが言及した --mirror コマンドを使用している可能性がありますか?)

これもまだうまくいくかどうかわかりません。

于 2013-02-28T16:26:43.870 に答える
1

今日、この問題に遭遇しました。TFSをリモートとして追加し、を使用するVonCの答えは、git push --mirror tfs私にとってはうまくいきました。ただし、これについていくつかの追加事項について言及することは有益かもしれません。

  1. プッシュ後も、Visual Studio は、このローカル リポジトリが何らかの方法で Team Foundation Service に接続されていることを識別できません。そのため、「Connect to Team Project...」を選択し、インターフェイスを使用して「クローン」を作成する必要があります。TFS からのリポジトリが複製され、すべてがプッシュされます。この後、TFS に接続され、クローンで正常に動作できるようになります。

  2. 「--mirror」を使用すると、すべてのローカル参照がプッシュされます。これには、中央リポジトリに実際には置きたくないローカル ブランチが含まれる可能性があります。この場合、「--mirror」でプッシュした後、git push tfs :<branchname>後で他の人がローカル ブランチをプルするのを避けるために、TFS からブランチを削除するために使用する必要があります。

  3. または、「--mirror」の代わりに、他の git repo: と同じように、目的の参照を TFS リポジトリにプッシュするだけでよいはずですgit push tfs <refspec>。この段階では TFS リポジトリはまだ空であるため、一連のブランチ名を<refspec>. このメソッドを使用する場合は、 use を使用することもできますgit push -u。これにより、ブランチを空のレポ追跡ブランチにプッシュすることもできます。

編集: Edward Thomson のコメントで述べたように、元のリポジトリが TFS リモートからのブランチを追跡するように構成されている場合、TFS からのクローン作成は不要です。そのgit push -u <refspec>ため、リポジトリを空の TFS リポジトリにプッシュし、追跡を設定するため、IDE が元のローカル リポジトリを認識できるようにする必要があります。

于 2013-03-01T15:43:53.140 に答える