PC を整理していたら以前社内勉強会で使ったメモが出てきたので、折角なので少し整理してブログに載っけることにしました。
msysgit
まず最初に msysgit をインストールします。下記サイトからダウンロード出来ます。
幾つかファイルがありますが「Git-X.X.X-previewYYYYMMDD.exe
」という形式のファイル名の最新の版をダウンロードしてください。例えば「Git-1.7.11-preview20120710.exe
」などです。
「msysGit-fullinstall-X.X.X-previewYYYYMMDD.exe
」と間違え易いですが、これは msysgit 自体をビルドしたい人向けのもので、サイズもかなり大きいので不要です。
次にインストールウィザードですが、好みもありますが概ね次のように選択してください。
Select Components
Additional icon
クイックランチやデスクトップのショートカットアイコンです。邪魔なので全部 Off にします。
Windows Explorer Integration
エクスプローラーのコンテキストメニューの設定です。 「
Advanced context menu
」を選択するとシェル拡張を用いたメニューになるらしいです。 が、TortoiseGit を使うので「Simple context menu
」を選択します。Associate .git* ~ ・Associate .sh ~
恐らく関連付けの設定です。不要なので全て Off にします。
Use a True Type font ~
On にすると文字化けするらしいので Off にします。
Select Start Menu Folder
スタートメニューにショートカットを設けるかどうかです。そのままで構いません。不要なら後で削除してください。
Adjusting your PATH environment
インストール時に設定される PATH 環境変数の設定です。
Use Git Bash only
PATH を設定しません。Git Bash からのみ git コマンドが使用可能です。
Run Git from the Windows Command Prompt
git/gitk コマンドだけ PATH に設定されます。 コマンドプロンプトからは git/gitk コマンドのみ使用可能です。
Run Git and includeed Unix tools from the Windows Command Prompt
git/gitk と msys のコマンドも PATH に設定されます。 コマンドプロンプトから msys のコマンドが使用可能になりますが、既存のコマンドと重複するものもあります(find とか)。
環境変数は自分で調整したいので「Use Git Bash only
」を選択します。
Choosing the SSH executable
git か使用する SSH クライアントを選択します。
OpenSSH だと色々問題があるらしいので「Use (Tortoise)Plink
」を選択します。また、インストール後に環境変数 GIT_SSH を弄れば plink のパスは変更することが出来ます。
改行文字の変換設定 (Configuraing the line ending conversions)
改行文字を自動変換するかどうかの設定です。百害あって一利なしなので「Checkout as-is, commit as-is
」を選択します。
Git のインストール後の設定
msysgit のインストールが完了したら、細かい環境設定を行なっていきます。
下記では msysgit を D:\appx\git
にインストールしたものとして説明します。
環境変数 HOME の設定
環境変数 HOME に「C:\Users\名前
」を設定します (Bash が .bashrc とかを探す場所になります)。
お好みで他のディレクトリにしても構いません。
環境変数 PATH の設定
下記の 2 つのパスを環境変数 PATH に設定します。
D:\appx\git\cmd git と gitk コマンド
D:\appx\git\bin その他の msys のコマンド
コマンドプロンプトから git や msys のコマンドが使えるようになります。
Bash の初期化ファイル .bashrc を作成
環境変数 HOME に設定したディレクトリに .bashrc を次の内容で作成します。
export PS1='[\w]\$ '
export TERM=msys
alias vi='vim'
alias ls='ls -F --color=auto --show-control-chars'
alias ll='ls -l'
Bash (というか Readline?) の日本語入力設定
上手く行かなかったので Bash からの日本語入力は諦めてください・・・TortoiseGit で日本語ファイル名を扱う分には問題ありません。
Git の設定
git config コマンドで git の環境設定を行います。
Git から起動されるエディタに、お好みのエディタを指定します。サクラエディタを使う場合は次のように指定します。
git config --global core.editor "sakura.exe -CODE=4 -GROUP=9"
日本語の文字化け対策。
git config --global core.quotepath false
改行コードの自動変換の無効化。
git config --global core.autocrlf false
コミットに記録されるメールアドレスと名前を指定。
git config --global user.email hoge.piyo@example.jp
git config --global user.name "hoge piyo"
PUSH を upstream に限定します(デフォルトでは同名のブランチを全てプッシュしてしまう)。
これがなんなのか今は判らなくてもいいので、この通りに設定しておいてください。
git config --global push.default upstream
コマンドのエイリアスを設定します。git checkout
を git co
と短く書けるようになります。
好みで適当に設定してください。大概の操作は TortoiseGit で行うので、そんなに拘る必要はありません。
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
プロキシ環境下では、次のようにプロキシの設定も行なっておいてください。
git config --global http.proxy http://example.jp:8080
関連付け
インストーラが設定した関連付けは HKEY_CLASSES_ROOT\Directory\shell
の [git_gui]
と [git_shell]
にあります。弄りたい人は適当に弄ってください。私は Extended
キーを追加して普通には表示されないようにしています。
HKEY_CLASSES_ROOT
とかの意味がわからない人はスルーしてください。
TortoiseGit
Git (msysgit) のインストールと設定は一通り終わったので、次に GUI フロントエンドの TortoiseGit をインストールします。
使用している OS のビット数にあったものをダウンロードしてください。また、日本語化のために Language Packs の Japanese もダウンロードしてください。
インストールウィザードの選択ですが、Choose SSH Client で TortoisePlink を使うように選択しておけば、後はデフォルトのままで問題ありません。
本体のインストールが完了したら Language Pack もインストールしておいてください。
TortoiseGit インストール後の設定
TortoiseGit のインストールが完了したので、細かい設定をしていきます。
好みによるところが大きいので、下記を参考に各自設定してください。
一般 - コンテキストメニュー
コンテキストメニューの1段目に表示される項目です。よく使う項目を選択しておきます。
- フェッチ
- コミット
- SVNフェッチ
- 差分
- ログを表示
ここで選択しなかった項目も、コンテキストメニューの TortoiseGit のサブメニュー内に表示されます。
「バージョン管理外のパスではメニューを表示しない」を On にすれば、関係無いディレクトリで TortoiseGit のメニューが表示されなくなります。その場合でも Shift を押しながら右クリックすると TortoiseGit のメニューは表示されます。
一般 - 拡張メニュー
ここで指定した項目は TortoiseGit のサブメニュー内にも表示されなくなります。ただし Shift を押しながら右クリックすると表示されます。
利用頻度の非常に低い項目を選択しておきます。
- SVN Ignore をインポート
- Reflog を表示
- リファレンスをブラウズ
- Bisect start
- クリーンアップ
- エクスポート
- サブモジュールの追加
- パッチを作成
- パッチを適用
- ヘルプ
- TortoiseGit について
代替エディター
お好みのエディタのパスを指定してください。特に無ければデフォルトのままで問題ありません。
オーバーレイアイコン
「状態のキャッシュ」に「拡張したシェル」を選択します。
特に理由はありませんが、TortoiseSVN の頃はこれは一番安定していた気がするので。
差分ビューアー
「異なるリビジョンのファイルの比較に使用するプログラムの設定」で「外部」を選択して WinMergeU のパスを指定します。
これで一通りの設定は完了です。最後に TortoiseSVN をアンインストールしてコンテキスメニューをスッキリさせたい人向けにコマンドラインの Subversion を紹介しておきます(GUI が無ければ SVN を弄れない人は TortoiseSVN を残しておいたほうが無難です)。
win32svn
TortoiseSVN をアンインストールしてしまう場合は、代替としてコマンドラインの Subversion をインストールしておいた方がいいでしょう。
インストーラーから入れてもいいのですが、アーカイブをダウンロード&解凍して環境変数 PATH を設定するだけの方が簡単かもしれません。
- http://sourceforge.net/projects/win32svn/files/ を開く。
- 「
1.7.8/apache22/svn-win32-1.7.8.zip
」をダウンロード(バージョンは最新のものを) - 適当なディレクトリに解凍する
- bin に環境変数 PATH を通す