web-dev-qa-db-ja.com

TortoiseGitとGit拡張機能

WindowsベースのOSでGit ExtensionsまたはTortoiseGitを使用する利点と欠点は何ですか?

76
Shawn Mclean

私はGitExtensionsを知りませんが、私の経験をTortoiseGitと共有できます(marc_sのコメントで除外):

長所:

  • Windowsとの優れた統合(Shell拡張機能)
  • TortoiseSVNとほぼ同じUI(既にTortoiseSVNを使用している場合は、何が期待できるかがわかります)。

短所:

  • hard gitの使用方法を理解する時間があります。

TortoiseGitの問題は、TortoiseSVNで作業した人が思考すべてがSVNとまったく同じように(またはそうすべき)になり、最終的にgitの操作方法をまったく理解しなくなることです。個人的な経験として、私が働いている会社は2年後にSVNからgitに移行し、TortoiseGitを使用していたすべての開発者は自分が何をしているのか分からず、時にはローカルリポジトリを台無しにしてしまいました。最終的に、彼らはTortoiseGitを廃止し、gitを「難しい方法」(Shell、Windows上のmsysGit)の学習に費やし、それ以来誰もが満足しています。

結論:msysGitを直接使用し、gitを適切に学習するだけです。将来、多くの頭痛の種を回避できます。

97
Rafael Ibraim

私の会社は両方を試し、Tortoise Gitをすぐに削除しました。より頻繁にクラッシュしました。コーダーは、Tortoise Gitには十分な能力がないと主張していますが、私はそれを自分で確認しませんでした。しかし、私は多くのクラッシュを自分で見ました。

コーダーはgit bashを好み、他はgit拡張機能を使用しますが、嫌いです。それらのいくつかでさえ、さらにgit bashを開きますが。 Git bashは、プログレスカウンターを見るために避けられません。

Git Extensionsには、プル中に進行状況カウンターを表示するオプションがありません。そのため、Git Extensionsのみを使用すると、不可解な非進行バーの前に座って、何が起こるのか、何かが失敗したのかはわかりません。最悪の場合、パスワードが欠落しているか間違っています。GitExtensionsを使用すると、永遠に待つことができ、時間のかかるものと同じ光るバーが表示されます。 Git Extensionsのもう1つの恐怖は、多くの大きなファイルをバージョン管理し、リベースでプルするときに「メモリ不足」で頻繁に中断することです。そのような中断の後、非コーディングユーザーは常に問題に圧倒されます。変更されなかった多くのファイルは変更されたものとして表示され、ロックファイルは問題の処理などを防ぎます。

私の意見では、両方のGUIツールは未熟です。

26
klaus thorn

1つの重要な理由でGit Extensionsが必要です-コミットログのグラフィカルビューを表示します(以下を参照)。そのグラフィカルなビューがなければ、gitを初めて使う人のほとんどがブランチ、コミット、リベース、チェリーピッキングなどで起こっていることを理解することはないでしょう(私はそうしなかったと思います)。

コマンドラインでも作業を行いたい場合は、実際にgitを使用することをお勧めします。すべてのヘルプはコマンドラインに基づいているためです。

とはいえ、Tortoise Gitも使用できます(動作すると想定)。これらはすべて同じコマンドライン実行可能ファイルを呼び出し、同じgitリポジトリで動作するためです。

ほとんどのIDEにはgitサポートもあります。JetBrainsIDEAは、その上に変更リストやその他の機能を追加するという素晴らしい仕事をします。

Git Extensions log view

19
studgeek

TortoiseGitの経験はあまりありませんが、インストールして、現在GitExtensions v2.21を使用しています。

GitExtensionsを使用する最大の利点:

  • コードラインとブランチの視覚的なgitkのようなグラフィカル表示。すべての重要な情報をタブで利用できるため、非友好的なSHAで作業する必要がなくなります。
  • 管理者としてインストールし、他のすべてのユーザーを同じPCにインストールすると、通常のユーザーと同じように使用できます。
  • windowsエクスプローラーとの組み込みシェル統合
  • visual Studioとのすぐに統合(Windows Eclipseユーザーはmsysgitのみが必要です。GitExtensionsの必要性を置き換える独自のGUIがあるためです)
  • 箱から出して起動するために必要なすべての必要な機能(SSHクライアント、KDiff、msysgit)があらかじめパッケージ化された使いやすいインストーラー。
  • gitHubとの統合(フォーク、クローン、プルはすべて合理化されています)

短所:

  • ドキュメントは、常に追加される新機能に対応していません。たとえば、スクリプト機能の使用方法はまだわかりません。

完全に無料のプログラムであり、文字列が添付されていないオプションとして提供されたことを忘れないように、私たちが支払われたクライアントであるかのように、そのように高い期待がかけられている理由はわかりませんか?前のユーザーが言及したアボートとフリーズのいくつかを見てきましたが、その大部分はv2.24で修正されたと思います。多くのアボートと失敗したアクションは、実際にはGitExtensionsのせいではなく、GitExtensions以外のシステムの問題(たとえば、SSHセットアップの構成ミス、リモートリポジトリをホストするサーバーのファイル許可の問題など)の症状です。たとえば、失敗と中止を引き起こす単純なプッシュを行ったことがありました。プッシュしようとしていたリモートが非常に長いパス名にあり、レポをホストしているMacサーバーに問題を引き起こしていたことがわかりました。

とにかく、とはいえ、GitExtensionsでの私の経験はかなり前向きです。上記の利点により、バグが修正されるまで時折中断およびフリーズすることに耐えることができました。

13
Phileo

使用したことがないので、Git Extensionsと話すことはできません。純粋なGITにいくつかの問題がありました。たとえば、GVIMを統合できませんでした。 Tortoise Gitには統合されたエディターとdiffツールがあります(これは驚くべきことです)。これは非常に便利です。 Scott Chaconの本のブランチ図が大好きで、TGitが同様の図になることを望んでいました。ブランチを表示するためのツールはありますが、本のようなものではありません。

心に留めておくべきことの1つは、TGitはGITの単なるシェルであるため、2つの方法を混在させても害はないということです。私はほとんどすべてにTGitを使用していますが、厄介なコマンドやTGitでよく分からないコマンドについてはGITに浸ります。ただし、TGitを使用する予定がある場合でも、先に述べたように、GITの基本を最初に理解することは依然として重要です。 Chaconの本の最初の、たとえば3つの章を読んでみました(オンラインで http://progit.org/book/ で、またはAmazonで購入して無料で入手できます)。あなたが私のような人なら、パラダイムを沈めるために何度も読みたいと思うかもしれません。それほど複雑ではありませんが、以前のVCSとは大きく異なります。

TGitは、他のレビュアーの一部と同様に、私には決してクラッシュしませんでしたが、その後、私のレポは小さくなりました。コミットコメントを複数回使用しましたが、これはユーザーエラーの可能性があります。戻ってコメントを再編集できるので、これは煩わしいだけで、GUIを使用するだけの価値があり、一目で多くの情報を表示するウィンドウがあります。

12
Dave March

上記の発言のいくつかに対抗するために:

TortoiseGitは、Windowsでgitを操作するための優れたGUIを提供します。 TortoiseSvnの代わりではなく、gitk + git-gui(コアgit機能の一部と見なすことができ、msysgitでアクセス可能)を使用して達成できるものよりも改善されたguiです。私が見る唯一の悪いことは、あなたがすべてのポイントをGUIで非常に便利に行うことができるので、チェックアウト/リベース/マージなどの正確なコマンドをすべて覚える必要がないということです。 PuTTY/sshの問題は、Windowsでのsshの劣ったサポートに関係しているため、TortoiseGitに固有のものではありません。

9
prusswan

GitExtensionsを使用します。 TortoiseGitは使用していませんが、他の開発者の1人が気に入っており、GitExtensionsの使用を拒否しています。彼の推論は1)それはよく知られています。 2)Windows Explorerとの優れた統合があります。

GitExtensionsを使用する場合、Windowsエクスプローラー統合を使用する傾向があるのは、次の3つだけです。

1)新しいローカルリポジトリを作成する(コンテキストメニュー項目Git Init Here、これは実際にはGit for Windowsコマンドです。GitExtensionsはGit for Windowsの上にあります)。

2)Git Extensions GUI(参照ウィンドウ)を開く;

3)リモートリポジトリをローカルリポジトリにコピーするには(コンテキストメニュー項目の[Git拡張]> [クローン])。

他のほとんどすべてについては、GitExtensions GUIを起動して、そこから作業するだけです。

GitExtensionsの開発者は、ほぼすべてのコマンドをGUIから実行できると主張しています。これは完全に真実ではありませんが、複雑なタスクの場合は月に1〜2回だけコマンドラインインターフェイスにアクセスする必要があります。

場合によっては、GUIは、基礎となるGitコマンドの複雑さを隠すことにより、複雑なタスクを簡単にします。これには、いくつかのGitコマンドを1つのアクションに結合することが含まれる場合があります。たとえば、GUIがサブモジュールの追加、初期化、更新を1つのアクションに結合するサブモジュールの作成。別のケースでは、GUIはGitにないコマンドを提供することでタスクを簡素化します-サブモジュールを削除します(Gitでは、.gitmodulesや.git/configなどのさまざまなファイルを手動で編集してサブモジュールを削除する必要があります)。 TortoiseGitが複雑なタスクを同様の方法で単純化するかどうかを知りたいと思います。

GitExtensionsには、かなり基本的なVisual Studio統合もあります。 TortoiseGitが行うかどうかわからない。 Visual Studio 2008および2010用の個別のGitソース管理プロバイダーがあり、これにより、より広範なVisual Studio統合が提供されます。ただし、Gitソース管理プロバイダーをインストールしたので、それを使用することはありません。 Visual Studioから使用するGitExtensions統合は、適切なリポジトリでGitExtensions GUIを開くためのツールバー上にあります。一方のモニターでVisual Studioを使用し、もう一方のモニターでGitExtensionsを開きます。

少なくともバージョン2.32以降、GitExtensionsのツールバーにはコミットされていないファイルの数が表示されます。以前は、この機能を持たない2.24を使用していましたが、非常に便利です。コミットされていない変更があるかどうかについて即座にフィードバックします。

7
Simon Tewsi

GitExtensionsは、TortoiseGit(Visual C++ MFC)よりも高速で簡単なコンパイル、カスタマイズ、および拡張機能の構築に適しています(C#)

移植性のために、GitExtensionsはTortoiseGit(Win32/64のみ)よりも優れています(Windowsでは.NET/Linux/Macではモノ)

エクスプローラーでアイコンオーバーレイを使用するには、TortoiseGitを使用します

一部の機能のパフォーマンスについては、TortoiseGitは静的/動的ライブラリを呼び出してリポジトリから結果を取得するため、GitExtensionsはより大きなオーバーヘッドを持つgit.exeコマンドラインのみを呼び出すため、より優れています。

TortoiseSVNから移行するために、TortoiseGitはGitExtensionsよりも使い慣れています

5
linquize

日付:2011-08-27。

この時点で、Tortoise Gitはまったく機能せず、Googleコードサイトの問題は1か月間注目されていません: http://groups.google.com/group/tortoisegit-users/browse_thread/ thread/9090337b7936e1e1

Tortoise Gitがサイトを複製する(および開発を開始する)最初の使用法のポップアップから「PuTTYキーをロードする」ボックスはグレーアウトされています。そのため、秘密キーは見つかりません。エラーメッセージは「接続が切断されました」です。

Git Bashは、コンソールベースではありますが完全に機能します。そして、Tortoise Gitを使用するときにGitの概念を理解しないことについて上記の全員が話している場合、開発者のためにTortoise Gitを動作させるために費やした最後の3時間を考慮しなくても、それに基づいてそれを避けます。彼はコンソールGitを学ぶか、道を行く必要があります。

15分で機能し、プログラマーを雇おうとするハッカーです;-)

PS、Eclipseには、3つの主要なバージョン管理リポジトリ「コネクタ」がすべて用意されており、非常に優れたエディタです。

0
user327312