免責事項:私はプロジェクトを開始しました。プロジェクトは現在、頻繁な寄稿者としての私なしで非常に有能な手に渡っていますが、これに関する私の意見はgit-tf
強く偏っていると絶対に考えてください。(そして、あなたがWindowsを使用していると仮定すると、おそらく予想外です。)
2つのツールには2つの基本的な違いがあります。
git-tfs
Windowsユーザー向けに構築され、.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-tf
gitリポジトリに直接データを入力し、TFSオブジェクトをgitオブジェクトデータベースに直接ダウンロードすることで機能します。 git-tfs
隠しフォルダーにTFS作業フォルダーのマッピングを作成し、そこからgitリポジトリーにデータを入力することで機能します。ここにはディスクペナルティがあるので、巨大なリポジトリがある場合は、これを感じるかもしれません。
git-tfs
TFSブランチをgitブランチにマップしようとすることができます。多くの人はこれを肯定的なものとgit-tfs
見なしますが、私はそうではありません。gitの分岐モデル(リポジトリレベルで)とTFSの分岐モデル(リポジトリ内のフォルダとして表される)は根本的に異なるため、他の問題を引き起こすことはありません。最も単純なワークフロー。ただし、マイレージは異なる場合があります。
git-tfs
コミュニティによって積極的に開発されています。 git-tf
コミュニティでの採用はありません。
私が言っているようにそれをgit-tf
悪い音にしたくありません。そうではありません。実はかなりいいと思います。しかし、それはあなたの最良の選択ではないかもしれません。
更新:git-tf
保守終了に達しました。これは、Microsoftによって保守またはサポートされなくなりました。git-tfs
双方向のTFS<->gitソリューションが必要な場合はお勧めします。