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 件のコメント:
コメントを投稿