2012/05/06

Git Portable 環境構築

Dropbox を使って、どこでもオレオレ git が使えるように設定します (以前の記事で、Dropbox から SpiderOak への乗り換えを決定しましたが、まだやってません…)。

UTF-8 対応のテスト的パッチが当てられた msysgit は以前から公開されていたのですが、その Portable版 は公開されていませんでした。今年になってようやく、正式な UTF-8 対応のインストーラ版とともに Portable版もリリースされたので、環境を整えました。

前提は以下です。

  • Windows環境(Windows7)
  • Git はコマンドラインでしか使用しない
  • Git の起動はbatファイルから(vbsファイルからは起動しない)
  • 自宅と会社で使用する前提(自宅PCと会社PCではユーザ名もコンピューター名も異なる)

 

Portable Git インストール

インストールといっても、Portable版なので解凍するだけです。以下から、PortableGit の最新版 (現時点では PortableGit-1.7.10-preview20120409.7z) をダウンロードします。

Dropbox フォルダ内に解凍します。私の場合は、Dropbox フォルダ内に Tools フォルダを作って、その中に置いています。以下のようなイメージ。

Dropbox
├─PortableApps
└─Tools
└─Git

PortableApps で提供されているツールはできるだけ PortableApps で。それ以外のツール類は Tools に入れています。なので、よく使う WinSCP や WinMerge、IrfanView などは PortableApps から入れています。


Git 環境設定


複数環境で使う前提の設定を行います。なお、Git は git-bash.bat から起動する前提です。Git Bash.vbs から起動した場合と機能的な差はないと思いますが、どうしても vbs がいい場合はVBScript での設定が必要です。


HOME の設定


解凍したGitフォルダ直下にある git-bash.bat をテキストエディタで開き、最初の rem 行が途切れた辺りに以下の行を挿入します。cd はなくてもよいし、好きなフォルダに変えてもよいですが、複数環境で使う前提なので、共通に使えるフォルダにします。

set HOME=C:\Users\%USERNAME%\Dropbox\Tools\Home
cd %HOME%

私は Tools フォルダの中に Home フォルダを作っていますが、もうひとつ上の階層に作る方が一般的かと思います。Git でしか使わないのであれば、Git の中に作ってもよいと思います。


環境によってログインユーザ名が異なることがあるので、%USERNAME% を使います。もしくは以下のようにします。

for /F "delims=" %%I in ("%~dp0..") do @set git_parent_dir=%%~fI
set HOME=%git_parent_dir%\Home
cd %HOME%

どちらでも結果は同じですが、最初のやり方の方が Home の場所を変えたいときには楽だと思います。Dropbox以外のツールを使って任意のフォルダを同期する場合には、後者の方がよさそうです。


設定したら git-bash.bat を実行し、正しくHOMEが設定されているか確認します。

echo $HOME

.gitconfig の設定


これは複数環境とは関係ないが設定しておく。以下の記事に記載されているものをまるっとコピペして、使わない設定があったらコメントアウトするか消しておきます。



出来上がったら、上記で設定した HOME に .gitconfig ファイルとして保存します。


.bashrc の設定

vi ~/.bashrc

デフォルトでは、プロンプトが [改行]+[ユーザ名@マシン名 パス]+[$] と3行に渡って表示されるので、シンプル変えます。これはお好みで。

export PS1='[\w]\$ '

このままでは日本語ファイルが ?????????.txt などと表示されるので、表示されるよう設定します。ついでに他の alias も設定します。

alias ls="ls -F --show-control-chars"
alias ll="ls -l"
alias lr="ll -tr"
alias view="vi -R"

view は手癖で打ってしまうので。


自宅と会社では git のユーザ名を変えたいので環境に合わせて変更します。global設定は使わず、リポジトリ単位で忘れずに必ず設定するから大丈夫!という方は設定不要。環境の判別は、コンピューター名で行なっています (コンピューター名は Win+Pause キー で確認できます)。

HOSTNAME=`hostname | tr [:upper:] [:lower:]`
case $HOSTNAME in
"kaisha-pc")
echo "Setting for Kaisha..."
git config --global user.name "kaisha namae"
git config --global user.email kaisha@shigoto.jp
;;
"jitaku-pc")
echo "Setting for Jitaku..."
git config --global user.name "segu namae"
git config --global user.email namae@segu.jp
;;
*)
echo "I don't know this machine."
;;
esac

実際には、他にも会社用の alias とかいろいろ設定したいものがあるので、環境ごとに設定ファイルを分けて、その中に書いています。

HOSTNAME=`hostname | tr [:upper:] [:lower:]`
case $HOSTNAME in
"kaisha-pc")
echo "Setting for Kaisha..."
source ~/.env/.bashrc_kaisha
;;
"jitaku-pc")
echo "Setting for Jitaku..."
source ~/.env/.bashrc_jitaku
;;
*)
echo "I don't know this machine."
;;
esac

確認


想定通りうまくいくか、git-bash.bat を実行して確認します。bat ファイルを起動したら、

git config --global --list

を実行して、ユーザ名が想定通りに設定されているか確認します。


 


正式に UTF-8 に対応したことで、以前のバージョンで行なっていたように、less を別途ダウンロードしてきたり、inputrc や profile を編集したり、といった作業も不要になりとても楽になりました。

0 件のコメント:

コメントを投稿