Windows の Git クライアント SourceTree がいい感じです。
私はこれまで、Windows の Git クライアントは TortoiseGit、GitExtensions、GitHub for Windows などいろいろ使ってきましたが、ようやく SourceTree に落ち着きました。バージョン管理ツールはもっともよく使用するツールのひとつですので、使いやすいものを選びたいですよね。Windows の Git 環境に満足されていない方は、ぜひ試してみてください。
この記事では、SourceTree の良いところ残念なところ、インストール方法を紹介します。
動作確認環境
- Windows7 64bit
- SourceTree1.0.8.0
目次
- SourceTree のいい所
- SourceTree の残念なところ
- インストール
- Git コマンドをインストール
- Mercurial はインストールしない
- Git 初期設定
- SSH 接続設定
- SSH 公開鍵・秘密鍵を作成する
- OpenSSH 形式の秘密鍵を作成することもできる
- SouceTree で使用する SSH 秘密鍵を設定
- Github などの Git サーバに SSH 公開鍵を登録
- Git Clone してみる
- Diff Tool に WinMerge を指定
- git-flow を使う
- ターミナルを使う
- git.exe はどこにある?
- Windows で Git を使う場合は改行コードに注意
SourceTree のいい所
オールインワン
SourceTree をインストールするだけで、Windows で Git を使うためのツールがひと通り揃います。環境構築の敷居が低いです。
GUI が使いやすい
他の Git クライアントに比べて GUI が使いやすいと思います。マウスをクリックする回数が少なくなるように設計されているためでしょうか。ナビゲーションもまとまっていて、作業も直感的。ターミナル(黒い画面)を使わないので非エンジニアにもオススメです。SSH の鍵も GUI で生成できます。
コミットログが見やすい
コミットツリーがキレイで見やすいです。Diff ツールに WinMerge を使用すればファイルの差分比較がさらに見やすくなります。
git-flow に標準で対応
git-flow に標準で対応しています。他の Git クライアントで git-flow 対応するのはそれなりに大変です。
コマンドラインによる操作にも対応している
MinGW が付属しているので、linux のようにコマンドラインからリポジトリを操作できます。
SourceTree の残念なところ
なんかモッサリしている
全体的に動作がモッサリしている印象を受けます。慣れれば問題ありませんが。
インストール
以下よりインストーラをダウンロードして実行します。
Free Mercurial and Git Client for Windows and Mac | Atlassian SourceTree
.Net Framework が入っていない場合は自動でインストールされます。私の環境では、.Net Framework4.5 がインストールされました。
Git コマンドをインストール
インストール後、SourceTree を起動するとセットアップウィザードが立ち上がります。最初に Git コマンドのインストール方法を設定します。
SourceTree と一緒に Git をインストールする場合は、一番上の「Download an embedded version of Git for SourceTree alone to use」を選択します。この記事を書いた時点では、1.8.3 がインストールされました。既に msysgit などで Git をインストールしている場合は、インストール済みの Git を使用することもできます。お好みでどうぞ。
Mercurial はインストールしない
今回は Mercurial については触れません。一番下の「I don't want to use Mercurial」を選択します。
Git 初期設定
コミットユーザ名と、メールアドレスを設定します。「Allow SourceTree to modify your global Git adn Mercurial config files」と「Configure automatic line ending handling by default」にもチェックを入れます。
SSH 接続設定
Git サーバに接続するツールを選択します。PuTTYが推奨されていますので「Use PuTTY / Plink」を選択します。
Load SSH Key では、いったん「No」を選択します。
SSH 公開鍵・秘密鍵を作成する
Git サーバに接続する方法は、http と SSH の2つの方法があります。http は特に設定は必要ありませんが、SSH で接続するには公開鍵・秘密鍵による認証 を行えるようにする必要があります。SSH で接続できるように、公開鍵・秘密鍵を作成する方法を紹介します。
メニュー > Tools > Create or Import SSH Keys をクリックします。
PuTTY が立ち上がります。「Generate」ボタンをクリックします。
空白部分でマウスを適当に動かしてランダム値を生成します。プログレスバーがいっぱいになるまで続けます。
「Save public key」をクリックして SSH 公開鍵を保存します。保存場所はどこでもいいですが、今回は、マイドキュメントに 「PuTTY」フォルダを作成して保存します。ファイル名は「id_rsa.pub」とします。
「Save private key」をクリックして SSH 秘密鍵を保存します。
「秘密鍵のパスフレーズが空欄だけどよろしいですか?」といった確認メッセージが表示されますが、今回はパスフレーズをつけずに保存するので、「OK」をクリックして保存します。保存先は、先ほど作成したマイドキュメントの 「PuTTY」フォルダに。ファイル名は「id_rsa.ppk」とします。
秘密鍵にパスワードをかけるかどうかは、プロジェクトのセキュリティポリシーによります。パスフレーズをつけると Git サーバと通信するたびにパスワードの入力が必要になるので、利便性と天秤にかけて検討しましょう。
OpenSSH 形式の秘密鍵を作成することもできる
メニュー > Conversions > Export OpenSSH key をクリックして OpenSSH 形式の秘密鍵を生成できます。Mac や Linux と秘密鍵を共有する場合は、OpenSSH 形式で秘密鍵を配布するといいです。
SouceTree で使用する SSH 秘密鍵を設定
メニュー > Tools > Options をクリックして、General タブの SSH Client Configuration に、先ほど作成した「id_rsa.ppk」を設定します。
Github などの Git サーバに SSH 公開鍵を登録
GitHub や Bitbucket などの Git サーバに「Public key for pasting into OpenSSH authorized_keys file」に書かれている文字列を登録します。
手順は以前書いた記事が参考になると思います。
Windowsにgitをインストールしてgithubにpushするまで
Git Clone してみる
ここまで設定できたら、左上の「Clene / New」ボタンから Git Clone してみましょう。
Diff Tool に WinMerge を指定
Diff Tool に WinMerge を指定できます。バージョン間のファイルの Diff が見やすくなります。
メニュー > Tools > Options をクリックして、Diff タブの External Diff Tool に WinMerge を選択します。
git-flow を使う
右上にある「Git Flow」ボタンから簡単に git-flow を開始することができます。
以下の画像は、Git Flow ボタンを押した後に表示される画面です。git flow init コマンドに相当する作業です。
ターミナルを使う
右上にある「Terminal」ボタンからターミナル(MinGW)を起動することができます。git コマンドはもちろん、ls や cd などの linux コマンドを使うこともできます。プロジェクトのルートディレクトリからターミナルを開始してくれたり、git-completion.bash による入力補完もできるので意外と便利です。
git.exe はどこにある?
SourceTree でインストールした git.exe を、IDE など他のアプリから使いたくなることがあると思います。
SourceTree に同梱されている git.exe は、ログインユーザのホームディレクトリ直下の AppData フォルダ、私の環境では以下の場所にあります。
C:\Users\karasawa\AppData\Local\Atlassian\SourceTree\git_local\bin\git.exe
ユーザ名は適宜置き換えて下さい。AppData は隠しフォルダなので、コントロールパネルから隠しフォルダを表示するように設定しておきます。
Windows で Git を使う場合は改行コードに注意
SourceTree をインストールして .gitconfig を自動で書き換えるように設定すると、.gitconfig に自動で autocrlf が設定されます。
[core]
autocrlf = true
この設定にしておくと、リポジトリから取得する際に LF を CRLF に、リポジトリに追加する際に CRLF を LF に変換されるようになります。適宜変更してください。
まとめ
SourceTree の導入方法をざっくり紹介しました。後は実際に触ってみてください。すぐ使えるようになると思います。