web-dev-qa-db-ja.com

既存のGitリポジトリをTeam Foundation Serviceにプッシュするにはどうすればよいですか

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

検索しようとするたびに、TFS-GITやGIT-TFのようなものを見つけ続けます。コードリポジトリのTeam Foundation Serverモデルに変更が加えられると思うので、そうしたくないのは間違いありません。

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

40
McKay

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

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

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

31
McKay

「既存のgitリポジトリをTFServiceにプッシュするにはどうすればよいですか?」

Tfs.visualstudio.com(下記参照)でgitリポジトリを宣言したら、そのgitリポジトリURLを独自のローカルリポジトリのリモートに追加します。

cd /path/to/local/repo
git remote add tfs url://tfs/git/repo
git Push --mirror tfs

これで、ローカルリポジトリの完全な履歴をTFSの新しいアップストリームリポジトリに戻すことができます。

繰り返しになりますが、アイデアは、アップストリーム側(TFS)に新しい空のリポジトリを作成し、ローカルリポジトリをプッシュすることです。


(元の答え)

Scott Hanselmanのブログ投稿について理解している場合

このGitサポートにはVS2012.2(現在プレビュー中)が必要になるため、最初にそれをインストールしてからVSIXを入手する必要があります。 VS2012.2がリリースされたときに両方を更新することができ、Git VSIXはVSギャラリーを介して自動的に更新され続けます。

これはVSの完全なソースコードプロバイダーであるため、VSを離れることなくほとんどのことを実行できます。または、コマンドラインでハングアウトして、リポジトリの状態に関する視覚的なリマインダーとして使用できます。

チームの場合、 http://tfs.visualstudio.com にアクセスしてアカウントにサインアップし、5人のユーザーを無料で取得できます。ソースプロバイダーとしてGitまたはTeam Foundation Version Control(TFVC)を選択し、すべてのTeam Foundationアジャイル、スクラム、またはALMツールのその他のテンプレートを使用できます。

Gitプロジェクトの登録プロセスは ここに示されています 、ここでもGit VSIXの 「コミュニティテクノロジープレビュー」が必要であることを示しています「コミュニティテクノロジープレビュー」 VS 2012 Update 2(VS2012.2)の

Git project in TFS

21
VonC

上記のいくつかの良い答えが、私はこれをさらに簡単に見つけました。

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

    git clone <repository url>

9
Rick Arthur

必要なのは、既存のローカルソリューション/レポのサーバーターゲットURLを変更することだけです。

そう:

  1. クラウド(TFService)で、新しいプロジェクトを作成し、そのURLを取得します。
  2. ローカルマシンで、Visual Studioで既存のソリューション/リポジトリを開き、パッケージ管理コンソール(PMC)で次のコマンドを実行します

    git remote set-url Origin https://new.url.here

  3. [表示]> [チームエクスプローラー]> [同期されていないコミット]を使用して、既存のソリューション/リポジトリを新しいプロジェクトにプッシュします。

これにより、以前のすべてのコミットを含むローカルリポジトリがクラウド内の新しいTFSプロジェクトにプッシュされます。

GitコマンドラインFTW。

これはすべて、.gitフォルダーにある構成ファイルの[url Origin]属性を更新するだけなので、このファイルを開いて編集する場合はメモ帳を使用するだけです。 IMHOこのコマンドは、他の設定を誤って編集するリスクを負わず、VSを終了する必要がないため、よりクリーンです。

注:ステップ3でプッシュするオプションが無効になっている場合、ソースツリーのヘッドを「ダーティ」にしてプッシュコマンドを有効にするために、別のローカルコミットを実行する必要がある場合があります。 Thoこれを行う別のgitコマンドがあると確信しています。

5
rism

今朝私が見つけたブログの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コマンドを使用している可能性があります)。

これがまだ機能するかどうかはわかりません。

1
McKay