1. ホーム
  2. git

[解決済み] Visual Studio 2013でソース管理を行う場合、TFVC(TFS Version Control)とGitの大きな違いは何でしょうか。

2022-12-01 16:23:32

質問

Git と TFVC ソースコントロールの比較に関する質問と回答は数多くありますが、Team Foundation Server/Service への Git の統合に関する回答は見当たりません。

私は Visual Studio 2013 を使用して、さまざまな言語 (C#, C++, PHP, Javascript, MySSQL) を使用したグリーン パシュート開発を開始しています。将来的には、iOSの開発もあります。ソース管理はSVN、VSS、TFVCを使いこなしています。しかし、Gitは使ったことがありません。プロセス管理/アジャイル開発にはTFSを好んで使っています...。完璧ではありませんが、Visual Studioにうまく統合されています。

そこで、この2つのシステムのどちらを選ぶかを決めるために...

Visual Studio 2013 を使用する場合、ソース管理のための TFVC と Git の大きな違いは何ですか?

  • 私の場合、メリットはローカルリポジトリ(重要でないとは言いません)とiOS開発サポートだけでしょうか?
  • Git の唯一の欠点は、コマンドラインインターフェースでしょうか(それは欠点ではないと主張する人もいるでしょう;-P)。
  • Visual Studio 2013 の Git 用 GUI で経験したことがありますか?コマンドライン・インターフェースを使わずに基本的なブランチ/マージをサポートするには十分でしょうか?
  • Visual Studio 2013 で使用されている Git を示す、詳細なスタートアップ・ガイドはありますか?Microsoft には、既存の Git リポジトリを Visual Studio 2013 に統合するためのビデオがありますが、私は Git と VS 2013 でゼロからスタートする方法を探しています。

私はここで本を探しているわけではありません。ただ、いくつかの箇条書きと、TFVC と Git の両方を使用したことのある人たちからの関連するリンクを探しています。

どのように解決するのですか?

アップデート

2013年以降、多くのことが起こりました。

  • Microsoft は、Team Foundation Server、Azure DevOps Server、および Azure DevOps に ssh サポートを追加しました。
  • Visual studio 2019 16.8+ には、完全に刷新された git クライアントが同梱されています。
  • Microsoft は、自社の内部製品を TFVC から移行しました。Windows と Office のソースは現在、Azure DevOps の Git に住んでいます。
  • Microsoft は GitHub を買収し、現在では DevOps 関連のオファリングの主な焦点となっています。
  • Virtual File System for Git と Git Large File System は、人々が TFVC に留まっていた理由の多くを解決しました。
  • Azure DevOps には、TFVC の履歴の (一部) を git リポジトリに変換することができるマイグレーション ツールが組み込まれています。

この間、TFVC にはほとんど何も起こりませんでした。

  • YAML パイプラインは、導入から 2 年経ってもまだ TFVC のサポートを受けていません (私はこれらをまったく期待していません)。
  • Visual Studio では、Team Explorer は Legacy" と呼ばれるようになった。
  • TFVC は機能完了を宣言されました。
  • Eclipse と Visual Studio Code および Linux/Mac の TFVC サポートは、公式に非推奨/終了となりました。

誰が勝ったかは明らかです。Git です。


VS 2013 を使用する場合、ソース管理における TFS と Git の大きな違いは何でしょうか?

MSDNでは Team Foundation Version Control と Git のすべての機能と違いについて、非常に広範なページがあります。 .

私の場合、唯一の利点はローカルリポジトリ(それが重要でないとは言いません)とIoS開発サポートでしょうか?

いいえ、もっとたくさんあります。しかし、それらはしばしば Git の高度なシナリオなのです。ローカル レポ、オフライン サポート、および履歴の完全なローカル フィデリティは信じられないほど強力で、Visual Studio ですぐに利用できます。他にも素晴らしい機能がいくつかあります。あるリポジトリから別のリポジトリへのブランチやマージの機能は、とても強力です。この機能は プロGitブック を参照することをお勧めします。TFSのGitは単なるGitサーバーであり、標準のGitが持つほとんどすべての機能を備えています。

マージする前に履歴を書き換える機能によって、いくつもの小さな変更セットを削除したり組み合わせたりすることができるので、履歴がきれいになり、人間として読みやすくなるのです。

<ブロッククオート

Gitの唯一の欠点は、コマンドライン・インターフェイスであることです(それは欠点ではないと主張する人もいます;-P)。

TFVCにもコマンドラインはありますが、人々はそれを使わないだけです。Git を使いたいけれども、TFVC が行う以上のことは決して行わないという人にとっては、おそらく UI を離れる必要はないでしょう。

他のいくつかの欠点があるかもしれませんが、そのほとんどは、人々が慣れているものとは異なるという事実によるものです。git が何をするのか、時間をかけて学ばなければ、自分の足を撃つのは難しくありません。RebaseやSquashのようなものは本当に強力で、非常にきれいな履歴を作成しますが、間違った使い方をすると、もうマージできないという問題を残してしまうことがあるのです。 TFS には、git リポジトリ上で非常に愚かな決定を下す権利を奪うためのセキュリティ設定を行う機能があります。 .

WindowsのGitユーザーのためのとてもクールなアドオンは PoSHGit これは、Powershellコマンドライン上でのコマンドの自動補完を提供します。

VS 2013 の GUI で Git を経験したことがありますか?コマンド ライン インターフェイスを使用せずに基本的な分岐/マージ処理をサポートするには十分でしょうか?

基本的な操作に必要なものはすべて備わっています。しかし、何が起こっているのかを知るために、異なるブランチを視覚化できる必要があります。Gitサーバーとローカルリポは単なるGitなので、どんなgitクライアントでもここであなたを助けることができます。SourceTreeは、その一例です。Git for Windowsクライアントもその一つです。

標準的な操作、チェックイン、チェックアウト、マージ、ブランチ(あるいはプッシュ、プル、フェッチ、コミット、マージ)については、UIは問題なく動作します。

VS 2013 で使用されている Git の詳細なスタートアップガイドはありますか?MS には、既存の Git リポジトリを VS 2013 に統合するためのビデオがありますが、Git と VS 2013 でゼロからスタートする方法を探しているのですが。

Git を使ったスタートアップは、多くの場所で提供されています。これらは、いくつかのオプションです。

その他の良い読み物です。

そして、インストールする価値のあるいくつかのツール。