Microsoftは、Team Foundation ServiceでGitリポジトリをサポートするようになりました。 Team Foundation Serviceのアカウントを持っています。既存のGitリポジトリをそこのプロジェクトにプッシュしたいと思います。
検索しようとするたびに、TFS-GITやGIT-TFのようなものを見つけ続けます。コードリポジトリのTeam Foundation Serverモデルに変更が加えられると思うので、そうしたくないのは間違いありません。
具体的には、TFServiceにプッシュする既存のGitリポジトリがあります。
さて、私は明らかにこれを複雑にしすぎていました。これが私がしたことです。
git pull c:\source\oldGitProject
それだけで、古い場所からすべての変更がプルされ、TFServiceに簡単にプッシュできました。
「既存の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コマンドが表示されます一意のリポジトリのURLを含む。必要なのは、そのコマンドをコピーしてGitコマンドプロンプトに貼り付けるだけです。
git clone <repository url>
必要なのは、既存のローカルソリューション/レポのサーバーターゲットURLを変更することだけです。
そう:
ローカルマシンで、Visual Studioで既存のソリューション/リポジトリを開き、パッケージ管理コンソール(PMC)で次のコマンドを実行します
git remote set-url Origin https://new.url.here
[表示]> [チームエクスプローラー]> [同期されていないコミット]を使用して、既存のソリューション/リポジトリを新しいプロジェクトにプッシュします。
これにより、以前のすべてのコミットを含むローカルリポジトリがクラウド内の新しいTFSプロジェクトにプッシュされます。
GitコマンドラインFTW。
これはすべて、.gitフォルダーにある構成ファイルの[url Origin]属性を更新するだけなので、このファイルを開いて編集する場合はメモ帳を使用するだけです。 IMHOこのコマンドは、他の設定を誤って編集するリスクを負わず、VSを終了する必要がないため、よりクリーンです。
注:ステップ3でプッシュするオプションが無効になっている場合、ソースツリーのヘッドを「ダーティ」にしてプッシュコマンドを有効にするために、別のローカルコミットを実行する必要がある場合があります。 Thoこれを行う別のgitコマンドがあると確信しています。
今朝私が見つけたブログの1つは、このドキュメントにリンクしています。
Publishという内部コマンドがあるようです(@VonCが言及した--mirrorコマンドを使用している可能性があります)。
これがまだ機能するかどうかはわかりません。