web-dev-qa-db-ja.com

Visual Studio 2013を使用する場合、ソース管理用のTFVC(TFSバージョン管理)とGitの大きな違いは何ですか?

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)。
  • GitのVisual Studio 2013 GUIを経験しましたか?コマンドラインインターフェイスなしで基本的な分岐/マージをサポートするのに十分ですか?
  • GitがVisual Studio 2013で使用されていることを示すGitの詳細なスタートアップガイドはありますか? Microsoftには、既存のGitリポジトリをVisual Studio 2013に統合するためのビデオがありますが、GitとVS 2013でゼロからのスタートを探しています。

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

98
Greg Grater

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

MSDNには、 Team Foundationバージョン管理とGitのすべての機能および相違点に関する非常に広範なページ があります。

私の場合の唯一の利点は、ローカルリポジトリ(それが取るに​​足りないことではない)とIoS開発サポートですか?

いいえ、もっとたくさんありますが、Gitの高度なシナリオであることがよくあります。ローカルリポジトリ、オフラインサポート、および歴史上の完全なローカル忠実度は信じられないほど強力です。VisualStudioですぐに使用できます。他にも素晴らしい機能がいくつかあります!あるリポジトリから別のリポジトリに分岐してマージする機能は非常に強力です。 Pro Git book を参照することをお勧めします。 TFSのGitは別のgitサーバーであり、標準のGitが持つほぼすべての機能を備えています。

マージする前に履歴を書き換えることができるので、いくつかの小さな変更セットを削除または結合できるため、履歴がよりきれいになり、人間として読みやすくなります。

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

TFVCにもコマンドラインがあり、人々はそれを使用しません。 Gitを使用したいが、TFVCよりもはるかに多くのことをしたくない人にとっては、おそらくUIを離れる必要はないでしょう。

主に人々が慣れているものとは異なるという事実のために、いくつかの他の欠点があるかもしれません。物事を行うときにgitが何をするのかを時間をかけて学ばなければ、足を踏み入れるのはそれほど難しくありません。 RebaseやSquashのようなものは非常に強力であり、非常にクリーンな履歴を作成しますが、誤って使用するともうマージできないという問題が残る可能性があります。 TFSには、Gitリポジトリで非常に愚かな決定を下す権利を奪うためのセキュリティ設定を配置する機能があります

WindowsのGitユーザー向けの非常にクールなアドオンは、 PoSHGit です。 Powershellコマンドラインでコマンドの自動補完を提供します。

GitのVS 2013 GUIを経験しましたか?コマンドラインインターフェイスなしで基本的な分岐/マージをサポートするのに十分ですか?

基本的な操作に必要なものはすべて揃っています。しかし、何が起こっているのかを知るには、さまざまなブランチを視覚化できる必要があります。 Gitサーバーとローカルリポジトリは単なるGitであるため、どのgitクライアントでもここでお手伝いできます。 SourceTreeはここのオプションです。 Git for Windowsクライアントも別です。

標準操作、チェックイン、チェックアウト、マージ、ブランチ(またはプッシュ、プル、フェッチ、コミット、マージ)の場合、UIは正常に機能します。

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

Gitをはじめ、多くの場所で利用できます...これらはいくつかのオプションです:

その他の良い読み物:

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

112
jessehouwing

TFSでよく使用されるいくつかの紛らわしい混合用語を解決するには

Team Foundation Server(TFS)はアプリケーションライフサイクル管理ツールであり、includesソースバージョン管理システム(VCS)コンポーネント。

VCSコンポーネントTFSusesは、主にTeam Foundationバージョン管理(TFVC)

したがって、質問はTFVC vs Git

(実際、TFSGitVCSオプションとしてサポートします。)

したがって、質問は次のとおりです。TFVC対Git

jessehouwingにはこれを詳細にカバーする素晴らしい答えがありますので、それを参照してください

どちらを使用するかを選択する限り、私の意見ではGitが勝ちます

  1. それは軽量です:セットアップと使用を開始するのは簡単です。
  2. 分散型の性質は、災害に対して非常に回復力があり、誰かが常にレポのコピーを持っていることを意味します。
  3. オフライン作業は簡単で、独自の完全なリポジトリで作業しています。変更をコミットしたり、元に戻したり、履歴を閲覧したりできます。リモートリポジトリと同期したい場合にのみオンラインにする必要があります。
  4. TFSでは、変更の状態(ファイルの追加、変更、ファイルの削除)を保存し、コードの別の状態に切り替える簡単な方法はありません。 (たとえば、2つの機能で動作し、前後に切り替えるには)。 gitでは、単に別のブランチをチェックアウトします。
14
James Wierzba

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

コマンドラインインターフェースが気に入らない場合は、Gitで使用できるGUIフロントエンドが複数あります。 Git自体には、実際には gitk および git-gui -gitのGUIというリポジトリブラウザーGUIツールが含まれています。次に、 git-colaTortoiseGit 、および others などのサードパーティアプリがあります。

4
kralyk