はじめに
皆さんはGitを何で操作していますか?
SourceTreeの方もいれば、Git-cliの方もいるかと思います。(他のツール知らないです...
私は、長くSourceTreeを利用していましたが、1年ほど前よりGit-cliを利用するようになりました。
双方使ったうえで、個人的にGit-cliに変えて良かったな〜と思った事をまとめたいと思います。
良かった事
慣れると早い
単純に慣れるとGit-cliの方が操作が早いと感じました。
考えるより前に手が動く感覚です。
Git自体に集中できる
git自体をあまり知らないうちに、SourceTreeを使うとSourceTree自体の仕様も覚えないといけません。
逆に、gitの事を知っていてもSourceTreeを覚えないといけないので、二度手間に感じます。
また、SourceTreeはバージョンが上がるごとにUIが割とドラスティックに変わるので、追いついていくのが大変と感じた事がありました。 Git-cliはコマンド仕様がドラスティックに変わることはありません。
ググった時に情報の絶対量が多い
SourceTreeを利用した時は、やりたい事を検索した際にSourceTreeでの操作が載っているページを血眼になって探していましたが、Git-cliにしてから、そのストレスはなくなりました。
手順の展開の容易さ
個人ではなく、チーム開発における場面でとても感じた事です。 プロジェクト用のwikiなどに、手順をまとめる際にキャプチャ等は不要で、コマンドを貼り付けるだけで済みます。
チャットにも、このgitコマンドでこういうgit操作してください -> コマンドペター で済むため、コミュニケーションコストが少なく済みます。
Git操作を覚えられる
SourceTreeは非常に良く作られていて、UIにのっとって操作していけば、様々なgit操作が行えます。 そのため、SourceTreeの操作を感覚で覚えてしまい、今自分でgitに対して何をしようとしているのか?を脳死で操作しがちなのと、裏で何のgitコマンドが動いているかを意識しづらい点があります。
エラーが起きた場合のリカバリーが容易
Git-cliの場合、クリックだけでは操作できないので、もちろん自分で今からしたいgit操作を考え、コマンドに起こし、実行します。そのため、途中でエラーになった場合でも、どこでつまづいたのかを特定するのが容易です。
SourceTreeの場合、良くも悪くも、よしな
にワンクリックで様々な操作をしてくれるので、途中でこけた時のリカバリーが不透明な事が多々ありました。 また、そのリカバリー自体のUI操作も覚えておかないといけません。
最後に
SourceTreeにも良いところ(Git-cliを知らなくても直感的に操作ができる。diffが見やすい。...etc) はあると思いますし、使いたいものを使えば良いと思うので、否定をしているわけではありません。
ですが、今現在SourceTreeを利用している/これからgitを使おうとしている方が、この記事を読んでGit-cli良さそうだな!と感じてくれて、興味を持ってくれる方がいれば嬉しいです!
また、Git-cliを利用するなら以下のツールを利用すると捗ると思います。是非導入してみてください!快適ですよ!
「Git補完をしらない」「git statusを1日100回は使う」そんなあなたに朗報【git-completionとgit-prompt】