79

私は最近、TFSに本当にうんざりしています。でもトンネルの先にライトがあると聞きました。どうやら私はgit-tfまたはgit-tfsのいずれかを使用して、コードをgitによって管理されているかのように扱うことができますが、中央のTFSサーバーとの間でプッシュ/プルすることはできます。

私の主な質問は、これらのどれを使用すべきかわからないということです。Microsoftによって公式にサポートされているgit-tfがあり、ずっと以前から存在しているgit-tfsがあります。これらの違いは何ですか?最初に試してみる必要がありますか?

4

3 に答える 3

93

免責事項:私はプロジェクトを開始しました。プロジェクトは現在、頻繁な寄稿者としての私なしで非常に有能な手に渡っていますが、これに関する私の意見は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ではどちらでも使用できます。必ずしも一方が他方より優れているとは言いません。しかし、私は言います:

  1. の最大の不満git-tfsは、MacOSでは動作しないということです。git-tfsクロスプラットフォームを作成する方法があれば、git-tfほぼ確実に存在しません。

  2. git-tfs場合によってはより高速git-tfです。最初のいくつかの改訂では、パフォーマンスは私たちの優先事項ではなく、正確さは優先事項でした。

  3. プラットフォームサポートマトリックスが広いためgit-tf、これはその機能が必然的に制約されることを意味します。たとえば、UI はありません。git-tfs一方、にはcheckintool、通常のTFSチェックインダイアログを開くコマンドがあります。これは、変更を視覚化するのに非常に役立ちます。(思い出すと、そこから適切な視覚的な差分を開くことができますなど)

  4. git-tfgitリポジトリに直接データを入力し、TFSオブジェクトをgitオブジェクトデータベースに直接ダウンロードすることで機能します。 git-tfs隠しフォルダーにTFS作業フォルダーのマッピングを作成し、そこからgitリポジトリーにデータを入力することで機能します。ここにはディスクペナルティがあるので、巨大なリポジトリがある場合は、これを感じるかもしれません。

  5. git-tfsTFSブランチをgitブランチにマップしようとすることができます。多くの人はこれを肯定的なものとgit-tfs見なしますが、私はそうではありません。gitの分岐モデル(リポジトリレベルで)とTFSの分岐モデル(リポジトリ内のフォルダとして表される)は根本的に異なるため、他の問題を引き起こすことはありません。最も単純なワークフロー。ただし、マイレージは異なる場合があります。

  6. git-tfsコミュニティによって積極的に開発されています。 git-tfコミュニティでの採用はありません。

私が言っているようにそれをgit-tf悪い音にしたくありません。そうではありません。実はかなりいいと思います。しかし、それはあなたの最良の選択ではないかもしれません。


更新:git-tf保守終了に達しました。これは、Microsoftによって保守またはサポートされなくなりました。git-tfs双方向のTFS<->gitソリューションが必要な場合はお勧めします。

于 2012-10-12T21:24:11.967 に答える
32

免責事項:私はgit-tfsプロジェクトの開発者です

編集:git-tfs周辺のアクティビティが削減されます。

git-tfsではTFSブランチがサポートされています(既存のブランチのフェッチ、ブランチの作成、TFSよりも簡単なブランチのマージ、...branchコマンドを使用)。ほとんどの場合は機能しますが、複雑なTFVCブランチワークフローでは機能しません...

見る:

git-tfsは、TFS(VC)からTFS(Git)に移行したり、必要に応じて作業項目を管理したり、プレーンなgitリポジトリーを使用したりできる唯一のツールでもあります。

そして他のいくつかの良い機能...

(そしてそれはよりアクティブでよりサポートされています)

于 2012-12-05T13:12:46.477 に答える
6

このスレッドを見つけた人へ:

Git-TF2013年以降に更新されていないため、正式に廃止さGit-TFSれ、代替案として明示的に提案されています。

Git-TFの保守終了

Git-TFは寿命に達しました。これ以上の更新はなく、Microsoftによるサポートは終了します。

Microsoft Visual Studio Team Servicesは、TeamFoundationバージョン管理リポジトリをGitリポジトリにインポートするためのシンプルなインポートツールを提供するようになりました。これを使用して、TFVCリポジトリをGitに変換することをお勧めします。

より高度な変換のニーズが必要な場合、またはTFVCリポジトリをブリッジしてローカルのGitリポジトリを操作する場合は、git-tfsプロジェクトをお勧めします。

Git-TFは新しいプロジェクトには使用しないでください。ただし、レガシーユーザーのCodeplexアーカイブには残ります。

(2017年4月にプロジェクトの開始者であり承認された回答の作成者であるEdward Thomsonによってプロジェクトのcodeplexページにセクションが追加されました)

Git-TFS積極的に維持されているようです: https ://github.com/git-tfs/git-tfs/commits/master

于 2015-09-21T17:13:11.797 に答える