更新:TFSを使用しなくなりました。しかし、コメントから、git-tfsが明らかに最近の方法であることがわかります。
Team Foundation ServerのオフラインソリューションとしてGitを使用した経験はありますか?
Subversionの場合、git-svnを使用して、svnバックエンドでプライベートリポジトリを維持できます。
SvnBridge とgit-svnを使用してTFSを操作しようとしました。最初は有望に見えましたが、Visual StudioはソリューションをTFSバージョン管理下にあると認識し、コミット中に干渉します。
これら2つを組み合わせる他の方法はありますか?
私はgit-svnといくつかの点で似ているgit-tfsと呼ばれるツールの作業を開始しました。
私はそれが可能であると確信していますが、それはその構造において非常に荒れ狂うゴールドバージアンになるでしょう、そして恐らく喜びよりも多くの痛みをもたらすでしょう。私はソース管理システムを選んでそれを使うことを勧めます。
実際のオフラインサポートが必要な場合、gitは素晴らしいですが、Windowsのサポートはまだ少し不安定です。
私たちはこれを仕事でやることに決めました。これが私たちのやり方についてのブログ投稿です。
http://blog.lozanotek.com/archive/2009/10/20/git-svn_SvnBridge_and_TFS_Source_Control.aspx
Githubでもこのプロジェクトを見つけました。これでうまくいくかもしれませんが、まだ試していません。
私はそれが可能であると言うことができます...
また、ここでは、同じ経験を持つ人に関するいくつかのマイナーな詳細を見つけることができます: http://blog.zobie.com/2009/04/using-git-to-avoid-problems-with-tfs/
TFSは現在gitをサポートしています: tfs news git support
あなたの質問には少し外れていますが、私はTFSリポジトリをGitリポジトリに変換するPowershellスクリプトを記述しました。また役立つかもしれません。
スクリプトについては my Github repoを参照してください
Brian Harryが Gitリポジトリの新しい統合 について Team Foundation Service と Team Foundation Server 201 について詳しく説明します。企業にとって、そして一般的にGitリポジトリの確実なホスティングに関心を持っているチームにとって特に重要である、彼が指摘する興味深い点がいくつかあります。
簡単なインストール– GitのインストールがTFSのインストールのシームレスな部分になりました。追跡してダウンロードするものは何もありません。個別にインストールして構成するものはありません。 TFS 2013をインストールするだけで、Gitサポートが自動的に取得されます。
サポートとサービス–出荷しているため、サポートします。つまり、問題が発生した場合は、サポートに連絡してサポートを受けることができます。セキュリティアップデート、ホットフィックス、定期的なアップデートなど、通常の方法で入手できます。使用している機能に関係なく、TFSサーバーが正常で最新であることを確認するために努力します。
高可用性–初期から、TFSが高可用性をサポートするように取り組んできました。私たちのGitサポートも例外ではありません。TFSで慣れているものと同じものをすべてサポートします。ハードウェアとソフトウェアの障害が発生してもサーバーを確実に実行し続けるための負荷分散とクラスタリング、確実にする必要がある場合はGeoレプリケーションTFSの統合された部分としての地域の停止、オンラインバックアップと復元に直面してもビジネス継続性を維持し、既存のエンタープライズグレードのバックアップと復元ポリシー(フル、増分、トランザクションログ)が引き続き機能するようにします(優れたRTOを提供します)およびRPO)。
Scale– TFSと同様に、ニーズの拡大に応じてTFSインストールをシームレスにスケーリングできます。これには、容量を追加する必要がある場合のアプリケーション層とストレージ層の両方のスケールアウトが含まれます。
管理のしやすさ– Gitの実装はTFSに完全に統合されているため、すべての管理ポリシーを変更せずに継続できます–サービスアカウント管理、ハードウェアの移行、ソフトウェアパッチ適用、バックアップと復元、監視、権限管理など。
統合認証–当社のGitサポートはWindows Active Directory認証を完全に統合しているため、アクセス制御、監査などのすべてを一貫性のある管理可能なインフラストラクチャに対して実行できます。この一環として、すべての変更は承認されたIDに対して監査され、誰が各変更を行ったかを確実に把握できます。
強化された権限–管理者が「混乱を制御」できるようにする追加のリポジトリと権限管理機能を構築しました(構築しています)。最初のセットには、リポジトリ(作成、削除、名前変更など)を管理する機能と、読み取り、書き込み、および管理権限を制御するリポジトリレベルの権限が含まれます。また、多くのお客様がGitで抱えていた重要な問題に対処する4番目の許可、つまりユーザーが「履歴を変更」できる「強制プッシュ」も含まれています。この機能を有効にすると同時に、管理者が権限で無効にすることもできます。現在、ブランチレベルのアクセス許可のように、追加のアクセス許可にも取り組んでいます。これにより、管理者は、個々のブランチを作成、削除、使用できるユーザーを制御できます。このようにして、開発者はローカルで選択した方法でブランチを使用できますが、マスターリポジトリにプッシュバックする場合、管理者が構成したポリシーによって制約されます。
ALMの統合–そしてもちろん、GitをTFS ALMワークフローに完全に統合しています–作業項目の追跡、ビルドの自動化、レポート作成、コードレビュー、もっと。まだすべての統合が完了しているわけではありませんが、2013年のアップデートを通じて具体化する予定です。完了したら、Team Foundationバージョン管理とGitバージョン管理の間のALM統合機能が完全に同等になるはずです。
ローカリゼーション–他の製品と同様に、Git機能は他のVSと同じ言語にローカライズされ、英語を話さない世界。
マット・バークが言ったと私は同意します http://git-tfs.com があなたの選択だと思います。しかし、いくつかの欠点があります:
あなたは2回コミットする必要があります、1回はVSで、もう1回はGitコンソールで
変更セットをいくつかのアイテムにリンクしたい場合は、git-tfsステートメント(rcheckin、...)についてさらに学ぶ必要があります。