最近、TFSにうんざりしています。しかし、トンネルの終わりにライトがあると聞いたことがあります。どうやらgit-tfまたはgit-tfsのいずれかを使用して、コードをgitで管理されているかのように扱うことができますが、中央のTFSサーバーとの間でプッシュ/プルができます。
私の主な質問は、これらのどれを使用すべきかわからないということです。 Microsoftによって公式にサポートされているgit-tfがあります。また、ずっと以前から使用されているgit-tfsもあります。これらの違いは何ですか?最初にどちらを試してみる必要がありますか?
免責事項:I git-tf
プロジェクトを開始しました このプロジェクトは、私を頻繁に寄稿することなく非常に有能な手に渡っていますが、これに関する私の意見は絶対に考慮すべきです強く偏っています。 (そして、あなたがWindowsにいると仮定すると、おそらく予期しないことです。)
2つのツールには2つの基本的な違いがあります。
git-tfs
はWindowsユーザー向けに構築され、.NET TFS SDKの上に記述されました。 TFS SDKはMonoでnot実行されるため、git-tfs
がクロスプラットフォームでの使用に適していません。
git-tf
はクロスプラットフォームユーザー向けに構築され、Java TFS SDKの上に記述されています。したがって、Java = TFS SDK(Windows、Mac、Linux、AIX、HP-UX、Solarisなど)git-tf
は、XcodeユーザーがTFSにアクセスできるように明示的に作成されました。
Windowsでは、もちろんどちらでも使用できます。私は必ずしも一方が他方より優れているとは言いません。しかし、私は言う:
Mygit-tfs
に関する最大の不満は、Mac OSでは動作しないことです。 git-tfs
をクロスプラットフォームにする方法があれば、git-tf
はほぼ確実に存在しません。
git-tfs
は、場合によってはgit-tf
よりもfasterです。パフォーマンスはnot最初のいくつかのリビジョンでの優先事項であり、正確さでした。
git-tf
には幅広いプラットフォームサポートマトリックスがあるため、その機能は必然的に制限されます。たとえば、noUIがあります。一方、git-tfs
には、通常のTFSチェックインダイアログを開くcheckintool
コマンドがあります。これは、変更を視覚化するのに非常に役立ちます。 (思い出すと、そこから適切な視覚的差分を開くことができます。)
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
はサポート終了になりました 。マイクロソフトによる保守またはサポートは終了しています。双方向のTFS <-> gitソリューションが必要な場合は、git-tfs
をお勧めします。
免責事項:私はgit-tfsプロジェクトの開発者です
編集:git-tfはもはやメンテナンスされていません...
編集:git-tfs アクティブにメンテナンスされていません もうどちらか。
そして今、git-tfsでのTFS分岐の非常に優れたサポートがあります(既存の分岐を取得し、分岐を作成し、TFSよりも簡単に分岐をマージします... branch
コマンドを使用)。
見る:
git-tfsは、おそらく、TFS(VC)からTFS(Git)への移行、必要に応じてワークアイテムの管理、または単純なgitリポジトリを許可する唯一のツールでもあります。
その他の優れた機能...
このスレッドを見つけた人へ:
Git-TF
は2013年以降に更新されなかったため公式に廃止され、現在は明示的にGit-TFS
代替として。
Git-TFのサポート終了
Git-TFは寿命に達しました。それ以上の更新はありませんし、マイクロソフトによってサポートされなくなりました。
Microsoft Visual Studio Team Servicesは、Team Foundationバージョン管理リポジトリをGitリポジトリにインポートするための簡単なインポートツールを提供するようになりました。これを使用して、TFVCリポジトリをGitに変換することをお勧めします。
より高度な変換が必要な場合、またはTFVCリポジトリをブリッジしてローカルGitリポジトリを操作する場合は、git-tfsプロジェクトを推奨します。
Git-TFは新しいプロジェクトには使用しないでください。ただし、レガシーユーザーのCodeplexアーカイブには残ります。
(セクション 追加 プロジェクトの コードプレックスページ 2017年4月、エドワードトムソン、そのイニシエーターであり、受け入れられた回答の著者)
Git-TFS
は積極的に保守されているようです: https://github.com/git-tfs/git-tfs/commits/master