[解決済み] Visual Studio 2013でソース管理を行う場合、TFVC(TFS Version Control)と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)。
- 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 を使ったスタートアップは、多くの場所で提供されています。これらは、いくつかのオプションです。
- MSDN Docs: Visual Studio と Git の併用
- MSDNブログ Git を使い始める
- には ハンズオンラボ には Brian Keller VM .
- マイクロソフト バーチャル アカデミー。 Visual Studio 2013 で Git を使う
- Pluralsight Visual Studio開発者のためのGit
その他の良い読み物です。
- MSDN Docs: Git と TFVC の比較 まとめ
- Syncfusionです。Git を簡潔に
- Visual Studio Merge ツールを Git のデフォルトとして設定する
- Visual Studio 内から PoshGit を使用する
- アプレス プロGit
- ALM Ranger Git for TFVC ユーザーのガイダンスです。
そして、インストールする価値のあるいくつかのツール。
関連
-
git pushで "Updates were rejected because your current branch is behind "というエラーが報告される。
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] .gitignoreと.gitkeepの違いは何ですか?
-
[解決済み] git merge` で `--no-ff` フラグはどのような効果がありますか?
-
[解決済み] git commit」と「git push」の違いは何ですか?
-
[解決済み] Visual Studio の .suo と .user ファイルをソースコントロールに追加する必要がありますか?
-
[解決済み] Visual Studio CodeとVisual Studioの違いは何ですか?
-
git push issues
-
[解決済み] Git タグリスト、コミット sha1 ハッシュの表示
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
Gitで「このリポジトリでは別のgitプロセスが実行されているようです...」と表示される問題
-
致命的 リモートレフマスターが見つからない
-
解決策正しいアクセス権を持っていることと、リポジトリが存在することを確認してください。
-
[解決済み] JenkinsのGitプラグイン。特定のタグをビルドするには?
-
[解決済み] gitでコミット間を前進・後退させる方法は?
-
[解決済み] Git は、省略形のコミット ID が 2 つの異なるコミットを参照する場合に警告を発しますか?
-
[解決済み] Git のリモート HEAD を master 以外に指定するように変更する
-
[解決済み] 非標準のポートでリモートリポジトリを使用する
-
[解決済み] Git の 'master' ブランチを 'release' にリネームするには?