WindowsのGitクライアントSourceTreeのインストールと初期設定

2013年7月30日

sourcetree-main

Windows の Git クライアント SourceTree がいい感じです。

私はこれまで、Windows の Git クライアントは TortoiseGit、GitExtensions、GitHub for Windows などいろいろ使ってきましたが、ようやく SourceTree に落ち着きました。バージョン管理ツールはもっともよく使用するツールのひとつですので、使いやすいものを選びたいですよね。Windows の Git 環境に満足されていない方は、ぜひ試してみてください。

この記事では、SourceTree の良いところ残念なところ、インストール方法を紹介します。

動作確認環境

  • Windows7 64bit
  • SourceTree1.0.8.0

目次

  1. SourceTree のいい所
  2. SourceTree の残念なところ
  3. インストール
  4. Git コマンドをインストール
  5. Mercurial はインストールしない
  6. Git 初期設定
  7. SSH 接続設定
  8. SSH 公開鍵・秘密鍵を作成する
  9. OpenSSH 形式の秘密鍵を作成することもできる
  10. SouceTree で使用する SSH 秘密鍵を設定
  11. Github などの Git サーバに SSH 公開鍵を登録
  12. Git Clone してみる
  13. Diff Tool に WinMerge を指定
  14. git-flow を使う
  15. ターミナルを使う
  16. git.exe はどこにある?
  17. 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 を使用することもできます。お好みでどうぞ。

install-git

Mercurial はインストールしない

今回は Mercurial については触れません。一番下の「I don't want to use Mercurial」を選択します。

install-mercurial

Git 初期設定

コミットユーザ名と、メールアドレスを設定します。「Allow SourceTree to modify your global Git adn Mercurial config files」と「Configure automatic line ending handling by default」にもチェックを入れます。

setup-user

SSH 接続設定

Git サーバに接続するツールを選択します。PuTTYが推奨されていますので「Use PuTTY / Plink」を選択します。

use-putty

Load SSH Key では、いったん「No」を選択します。

create-ssh-key-later

SSH 公開鍵・秘密鍵を作成する

Git サーバに接続する方法は、http と SSH の2つの方法があります。http は特に設定は必要ありませんが、SSH で接続するには公開鍵・秘密鍵による認証 を行えるようにする必要があります。SSH で接続できるように、公開鍵・秘密鍵を作成する方法を紹介します。

メニュー > Tools > Create or Import SSH Keys をクリックします。

create-ssh-key

PuTTY が立ち上がります。「Generate」ボタンをクリックします。

generate-ssh-key

空白部分でマウスを適当に動かしてランダム値を生成します。プログレスバーがいっぱいになるまで続けます。

generate-ssh-key-mouse

「Save public key」をクリックして SSH 公開鍵を保存します。保存場所はどこでもいいですが、今回は、マイドキュメントに 「PuTTY」フォルダを作成して保存します。ファイル名は「id_rsa.pub」とします。

save-ssh-public-key

「Save private key」をクリックして SSH 秘密鍵を保存します。

save-ssh-private-key

「秘密鍵のパスフレーズが空欄だけどよろしいですか?」といった確認メッセージが表示されますが、今回はパスフレーズをつけずに保存するので、「OK」をクリックして保存します。保存先は、先ほど作成したマイドキュメントの 「PuTTY」フォルダに。ファイル名は「id_rsa.ppk」とします。

秘密鍵にパスワードをかけるかどうかは、プロジェクトのセキュリティポリシーによります。パスフレーズをつけると Git サーバと通信するたびにパスワードの入力が必要になるので、利便性と天秤にかけて検討しましょう。

OpenSSH 形式の秘密鍵を作成することもできる

メニュー > Conversions > Export OpenSSH key をクリックして OpenSSH 形式の秘密鍵を生成できます。Mac や Linux と秘密鍵を共有する場合は、OpenSSH 形式で秘密鍵を配布するといいです。

save-openssh-private-key

SouceTree で使用する SSH 秘密鍵を設定

メニュー > Tools > Options をクリックして、General タブの SSH Client Configuration に、先ほど作成した「id_rsa.ppk」を設定します。

set-ssh-private-key

Github などの Git サーバに SSH 公開鍵を登録

GitHub や Bitbucket などの Git サーバに「Public key for pasting into OpenSSH authorized_keys file」に書かれている文字列を登録します。

public-key-for-github

手順は以前書いた記事が参考になると思います。

Windowsにgitをインストールしてgithubにpushするまで

Git Clone してみる

ここまで設定できたら、左上の「Clene / New」ボタンから Git Clone してみましょう。

clone-github

Diff Tool に WinMerge を指定

Diff Tool に WinMerge を指定できます。バージョン間のファイルの Diff が見やすくなります。

メニュー > Tools > Options をクリックして、Diff タブの External Diff Tool に WinMerge を選択します。

diff-tool-winmerge

git-flow を使う

右上にある「Git Flow」ボタンから簡単に git-flow を開始することができます。

以下の画像は、Git Flow ボタンを押した後に表示される画面です。git flow init コマンドに相当する作業です。

git-flow-init

ターミナルを使う

右上にある「Terminal」ボタンからターミナル(MinGW)を起動することができます。git コマンドはもちろん、ls や cd などの linux コマンドを使うこともできます。プロジェクトのルートディレクトリからターミナルを開始してくれたり、git-completion.bash による入力補完もできるので意外と便利です。

mingw-git

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 の導入方法をざっくり紹介しました。後は実際に触ってみてください。すぐ使えるようになると思います。

-技術ブログ
-