免責事項:私はプロジェクトを開始しました。プロジェクトは現在、頻繁な寄稿者としての私なしで非常に有能な手に渡っていますが、これに関する私の意見はgit-tf強く偏っていると絶対に考えてください。(そして、あなたがWindowsを使用していると仮定すると、おそらく予想外です。)
2つのツールには2つの基本的な違いがあります。
git-tfsWindowsユーザー向けに構築され、.NETTFSSDKの上に記述されています。TFS SDKはMonoで実行されないため、クロスプラットフォームでの使用には適しgit-tfsていません。
git-tfクロスプラットフォームユーザー向けに構築され、JavaTFSSDK上に記述されています。git-tfしたがって、 XcodeユーザーがTFSにアクセスできるように明示的に作成された、Java TFS SDKでサポートされている場所(Windows、Mac、Linux、AIX、HP-UX、Solarisなど) で実行されます。
もちろん、Windowsではどちらでも使用できます。必ずしも一方が他方より優れているとは言いません。しかし、私は言います:
私の最大の不満git-tfsは、MacOSでは動作しないということです。git-tfsクロスプラットフォームを作成する方法があれば、git-tfほぼ確実に存在しません。
git-tfs場合によってはより高速git-tfです。最初のいくつかの改訂では、パフォーマンスは私たちの優先事項ではなく、正確さは優先事項でした。
プラットフォームサポートマトリックスが広いためgit-tf、これはその機能が必然的に制約されることを意味します。たとえば、UI はありません。git-tfs一方、にはcheckintool、通常のTFSチェックインダイアログを開くコマンドがあります。これは、変更を視覚化するのに非常に役立ちます。(思い出すと、そこから適切な視覚的な差分を開くことができますなど)
git-tfgitリポジトリに直接データを入力し、TFSオブジェクトをgitオブジェクトデータベースに直接ダウンロードすることで機能します。 git-tfs隠しフォルダーにTFS作業フォルダーのマッピングを作成し、そこからgitリポジトリーにデータを入力することで機能します。ここにはディスクペナルティがあるので、巨大なリポジトリがある場合は、これを感じるかもしれません。
git-tfsTFSブランチをgitブランチにマップしようとすることができます。多くの人はこれを肯定的なものとgit-tfs見なしますが、私はそうではありません。gitの分岐モデル(リポジトリレベルで)とTFSの分岐モデル(リポジトリ内のフォルダとして表される)は根本的に異なるため、他の問題を引き起こすことはありません。最も単純なワークフロー。ただし、マイレージは異なる場合があります。
git-tfsコミュニティによって積極的に開発されています。 git-tfコミュニティでの採用はありません。
私が言っているようにそれをgit-tf悪い音にしたくありません。そうではありません。実はかなりいいと思います。しかし、それはあなたの最良の選択ではないかもしれません。
更新:git-tf保守終了に達しました。これは、Microsoftによって保守またはサポートされなくなりました。git-tfs双方向のTFS<->gitソリューションが必要な場合はお勧めします。