半年程度しか使っていないくせに偉そうにもGitクライアントを選定する機会があり、いろいろ調べたらすごく迷ってしまったのでそのときのメモを残しておきたいと思います。
ちなみに僕の環境はWindows10です。
その前にGitって?
Gitってなに??という初心者のために初心者が少しだけご説明します。
ネット上を調べてみてもいまいちピンとくる説明がなかったのですが、僕の中でしっくりときたサルでもわかるGit入門から引用させて頂くと次の通りです。
Gitとは、分散型バージョン管理システムの一つで、もともとLinuxのソースコードを効果的に管理するために開発されました。
Gitでは、ファイルの状態を好きなときに更新履歴として保存しておくことができます。そのため、一度編集したファイルを過去の状態に戻したり、編集箇所の差分を表示したりすることができます。
つまり、自分がやった修正内容をすべて記録してくれて、なおかつその時点にタイムスリップできるシステムということですね(超意訳)。
ちなみに一昔前、僕は仕事でSubversionを使っていたのですが、Subversionの進化版と考えると痛い目を見るのでアレは一旦忘れましょう。Gitに慣れればもう使うこともないので。また、未だにSubversionを導入しているプロジェクトに遭遇したら積極的にGitへ乗り換えることをおすすめします。おすすめする理由はいろいろなブログで力説されていると思います。
Gitのインストールはこちらです。
Git用語の説明
これだけ知っていれば問題なく開発できました。
クローン | サーバーのリポジトリをローカルにコピーする。最初にだけやる作業。プルと間違えないように。 |
コミット | いわゆるコミット。Gitの場合はローカルのリポジトリにしかできない。初心者は大概これで混乱する。 |
プッシュ | ローカルのリポジトリをサーバにアップロードする。コミット内容がサーバに飛ぶイメージ。これをしないと誰にも伝わらない。 |
プル | サーバーのリポジトリをローカルにコピーする。サーバーに溜まっているコミットをローカルに飛ばすイメージ。誰かの修正を確認したいとき、ローカルを最新化したいときにやる作業。 |
おそらくGitを混乱させている元凶はローカルのリポジトリへのコミットだと思います。
僕なりに整理すると、
- ローカルのリポジトリ:自分の作業場
- サーバーのリポジトリ:最新ソースの置き場
こんな感じです。
詳しくはおいおい覚えていきましょう。
そこで本題
初心者(Subversion経験者)が使いやすかったGitクライアントを3つあげてみます。
検証環境:Window10
SourceTree

元々はMac用だったようですが、最近Windows向けも出たようです。
先輩が妙に薦めてくるのでインストールしてみたのですが、全体的にMacテイストでおしゃれでした。コミットやプッシュもボタンひとつでできるし、コミットログもグラフィカルに表示されるので、眺めているだけでも楽しいです。
当然、日本語対応しています。
TortoiseGit
そうです。TortoiseSVNのGit版です。結論から言うと、これをプロジェクトでは推奨しています。
プロジェクトメンバーが全員Gitはじめて&SVN経験者ということもあり、必然的にまたお世話になっている状況です。ただ、上述の通りUIが同じ=同じ使い方ができる、というわけではありません。Git用語とSVN用語がごっちゃになっている状態では、混乱がすごかったです。(特におじさんたちはコミットが難しい模様……うーん)
これも当然、日本語パックあります。
Git Bash
インストールするとついてくるやつ。最近、僕はコマンド派です。
Gitの操作を検索するとほとんどのサイトやブログではコマンドで紹介されているので、Gitコマンドに慣れないことにはGitは扱えないぞと危機感を覚え、渋々コマンドベースでコミットやプッシュをやっているのですが、慣れてくると意外にもコマンドのほうが楽なんですね。
初心者のみなさんはメモ帳にコマンドをまとめてあるのを貼り付けるだけでもいいので、コマンドに挑戦してみるのもいいかもしれません(僕もそうでした)。コマンドを使うことで他のコマンドが出てきても、緊張することなく叩けるようになると思います。
まとめ
というわけで、Gitクライアントについてのメモでした。
Git初心者が多いプロジェクトでは、「TortoiseGit」をおすすめします。マウス操作(右クリック)かつ、どのローカルリポジトリに手を入れているのかが直感的にわかるので。
ただ、慣れてくると逆に不便に感じるでしょうし、いろいろなGitの使い方を試してみたくなると思いますので、ぜひ臆さずコマンドにも挑戦してみてください!