スポンサーリンク

私がSourceTreeを高評価しない理由

SourceTreeは良いGitのツールだと思いますが、私は以下の理由で高評価しませんし、恒常的に使うことも無いと思います。

右クリックで何も起こらない

WindowsはWindows 95以降Explorerと言うオブジェクト指向なUI(シェル)を使用しています。このUIの特徴はアプリケーションが中心にあるのでは無く、データファイルが中心だと言うことです。簡単にこのことをまとめると「アプリケーションを起動→アプリケーションのメニューからファイルを選択する」ではなく、「データファイルを選択→操作→アプリケーションやツールの起動」が中心操作だと言うことです。

このときの「操作」には大きく分けると、コンテキストメニュー(右クリック)、ダブルクリック、ドラッグ&ドロップです。もう一度書きますが、Windowsのシェルはファイル中心なのです。

以下は、.gitが有るディレクトリを私の環境で右クリックしてコンテキストメニューを表示させたときの物です。

image

このように様々な機能が選択できます。私の環境では、Tortoise GitやGit Extension、Git for Windowsがインストールされているので、この中から右クリックしたディレクトリに対してGitに関する様々な操作が行えます。しかしながら、ここにSourceTreeはなにも出てきません。

SourceTreeはExplorer上でファイルを右クリックしようが、ディレクトリを右クリックしようが何もしません。SourceTreeはWindowsの標準シェルであるExplorerがファイル中心にもかかわらず、何も機能を提供しません。

これは私の標準的なPCの操作に反していて、むかつきます。私はリポジトリ操作のためだけにわざわざスタートメニューやスタート画面からアプリケーションを起動したくありません。

Visual Studioに統合されていない

私はC#のプログラマなので、Visual Studioを日常的に使用しています。

一方SourceTreeは完全に独立したアプリケーションで、いかなるIDEとも協調関係を持っていないようです。

Visual Studioを含むIDEは、ソフトウェア開発に必要な機能が統合され、その中でいろいろな物事が済んでいくという没入感がすごく大切です。ソースコード管理というのはソフトウェア開発の重要なパートで有り、このためにIDEの外に出て別のアプリケーションを起動するというのは、非常に避けたい物です。開発のリズムが崩れます。ついついブランチ切らなかったり、コミットもしなかったりになってしまいます。

ですので、VSとの統合や協調関係の無いSourceTreeはこの点でも私は常用できない物になります。

VSとの統合がしっかりしているgitsccとTortoiseGitの組合せは最強です。

あと、SourceTreeは同じ会社のBitbucketとの統合も今一のように見えるのですが、会社として大丈夫なんでしょうか。GitHubばりのえげつなさが無いと厳しいと思うんですよね。何となく。

まとめ

単純に私には縁が無かった感じですが、Windows上でWindowsアプリケーションを開発している開発者であればだいたい同じような感想になるんじゃ無いですか。

まぁWindowsの操作もおぼつかないような人には、SourceTreeがいいのかもしれませんけど、そもそもそんな人がGit使って大丈夫なんですかね。

コメント

  1. unknown より:

    >このためにIDEの外に出て別のアプリケーションを起動するというのは、非常に避けたい物です。
    SourceTreeを常に起動した状態にしておけば全く問題ないと思いますが。いちいち毎回起動するのですか?
    あと、SourceTreeの良い面を全く紹介していないですよね。
    SourceTreeにトラウマでもあるんですか?

  2. Ishisaka より:

    嫌いなものの良い点を書く必要性はないんじゃないですかね。トラウマが出来るほども使ってないです。使わない理由は書いたとおり。

  3. 通りすがり より:

    今さらですが気になったので一言だけ。

    Git というか分散型のメリットって、リモートリポジトリを登録して、自分のリポジトリとそちらの変更点の差分を確認して必要分だけをローカルに取り込んだりマージしたり逆にプッシュすることですよね。そうなると、リポジトリを開いた瞬間にリモートを含めた木構造が出てきてすべての関係性が一目でわかるインタフェースが無いと不便じゃないですか?特にオープンソース開発では、複数のリポジトリと数十の単位のブランチが同時に動いたりしていて、誰がどの部分を動かしていてどこと整合性を取るかの把握が必要なわけで、そうなるとメニューから選ぶ形式だと何も情報がわかりません。フォルダの右クリックから項目選択で木構造など様々な情報を表示できるのかもしれませんが、そこまでするのならソフト起動と同時に一目で情報が見える SourceTree の方が面倒がなくていいかなぁ。それとも、そういう機能を使わずに Subversion とほぼ似たような範囲の機能しか利用されていないのでしょうか?Subversion なら Git のような柔軟性はないので TortoiseSVN 一択で異論ありませんが。

    あと自分の場合にコミットをどうしてるか考えたのですが、常にコマンドラインが触れる環境でやってるので(Linux なので)、その場で git commit など1(~2)行を書いて終わりです。そういう用途の場合は SourceTree の起動なんてそもそもしません。それどころか TortoiseGit 自体も、Visual Studio のような開発ソフトを一旦移動してフォルダまで行って右クリックからやりたいことを選んで出てきた画面にコミットメッセージを打つなんていうのも余計な手間がかって面倒だと思っております。SourceTree を開く代わりに、よく使うフォルダを開きっぱなしにしていつでも右クリックできるようにしておくのでしょうか?それだと SourceTree の起動しっぱなしと大差なさそうに感じます。まぁ、最近は Visual Studio でもプラグインが出てきて TortoiseGit は無くてもよくなりましたけどね。それでも僕はコマンドラインの方が絶対に楽で速いのでプラグインは使わないかなぁ。

    ちなみに、分散型では他の開発者とのブランチ間の整合性を取るためにこまめにマージしながら開発する運用が多いと思いますが、マージ、リベース、スカッシュといった操作は範囲を間違いやすいので、やっぱり木構造を目で見て直観的に範囲を選択できる SourceTree で行うのが便利だと感じております。

    Google Trends 等で TortoiseGitと SourceTree の検索数比較を見てもわかる通り世間は SourceTree を評価しており、おそらく筆者様は Git を使いこなせていないかその必要が立場なのか、いずれにせよ小数派であることは間違いないようですね。

  4. unknown より:

    今時の開発でWindowsのエクスプローラから右クリックとか(笑)
    上記の方の言う通りSourceTreeを起動しっぱなしにしておけばいいだけです。
    わざわざディレクトリを開いて右クリックする必要など有りません。

  5. Ishisaka より:

    この記事はあくまでも僕の意見なので、他の方の意見も尊重しますが、反対意見を述べられるのであれば、中途半端に匿名化せずちゃんと名乗られてはどうでしょうか。今後、意見を書かれた方を特定できない場合はスパムとして扱います。

  6. いぬえもん より:

    わたしは、普段alt + tabをよく使うので、できるだけ起動ウィンドウを減らしたいです
    その一点だけでtortoisegitを利用しています
    エクスプローラーはTablacus Explorerを使っているのでフォルダ移動の不便さも少ないです

    通りすがりさんのコメントの
    >Google Trends 等で TortoiseGitと SourceTree の検索数比較を見てもわかる通り世間は SourceTree を評価しており、
    ですが、”googleの検索数が多い”ほうが”評価が高い”とはならないと思います。利用者が多いだけです。

  7. Mac嫌い より:

    あんなクソ重いSourceTreeつかう理由全くわからんですしお勧めする媒体多いの信じられないですね。

タイトルとURLをコピーしました