2009-10-16

MsysGit の Git GUI でパスフレーズ入力省略

Windows 用 Git 環境「MsysGit」をインストールすると、「Git GUI」というコマンド・ライン用アイコンと、「Git GUI」という GUI 版の Git (Linux でいうところの git-gui そのもの) が起動する。

ssh プロトコルで接続

Git repository が ssh プロトコルで公開されていると、git clone や fetch や push の度にパスワードを求められて困る。そこでコマンド・ライン派の人達におススメなのが、ssh の passphrase を使って、ssh-agent & ssh-add によりパスフレーズ入力を省略する方法。

Git Bash でそれを行なう場合、やり方は Unix と同じ。

GIT GUI でも、パスフレーズ入力を省略したい

GIT GUI は、Tcl/Tk で書かれたスクリプト (MsysGit には Tcl の実行コマンド wish も入っている!)。なので、GIT BASH で ssh-agent & ssh-add した後に続けて、GIT GUI に相当するコマンドを実行してやればいい。さうすると、コマンドラインから起動した GIT BASH ではパスフレーズ入力が不用になる。

実際の手順はこの通り:

$ ssh-agent bash
bash-3.1$ ssh-add
bash-3.1$ wish /c/Program\ Files/Git/libexec/git-core/git-gui

いささかコマンド・ラインが長い。.bashrc を作っておくと便利。

# .bashrc
alias git-gui='wish /c/Program Files/Git/libexec/git-core/git-gui'

使い方は、分かるよね。一応、書いとくと:

$ ssh-agent bash
bash-3.1$ ssh-add
bash-3.1$ git-gui

もう、Git GUI のアイコンは要らないね。全部 GIT BASH を使ってしまえばいい。

No comments:

Post a Comment