トップ «前の日記(2012-02-18) 最新 次の日記(2012-02-22)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2012-02-19

_ Windowsで楽勝にgitを使う方法

(2012/3/4注:このエントリーは正確には、『Windowsで楽勝かつクリーンにgitをインストールする方法』です。楽勝な使い方については、『デザイナーのためのgit』を読むと良いでしょう)

まだすべてのコマンドを試したわけではないけど、次のようにすれば、わずか数クリックでgitが使えるようになる。しかも、Windows環境の汚染も目に見える限りは無い。

1) Heroku Toolbelt for Windowsをダウンロードする。

2) インストールする。この時、既定のインストール先はc:\program files\Herokuになっているが、当然、そのままにしておくこと。

3) インストールが完了したら、「スタートメニュー」-「すべてのプログラム」-「Ruby 1.9.2-p290」(このフォルダはおそらくバージョンアップによって変わると思う)の中の「Start Command Prompt with Ruby」というショートカットを右クリックして「プロパティ」を表示する。

4) ショートカットの「リンク先」は以下のようになっている。

C:\Windows\System32\cmd.exe /E:ON /K C:\Program Files\ruby-1.9.3\bin\setrbvars.bat 

惜しい!

5) 次のように、cmd.exeの引数を「"」で囲む。

C:\Windows\System32\cmd.exe /E:ON /K "C:\Program Files\ruby-1.9.3\bin\setrbvars.bat" 

6) プロパティを保存する(OKをクリックする)。

7) これで以降、「Start Command Prompt with Ruby」をクリックすると、RubyにPATHが通ったcmd.exeが起動できる。

8) このコマンドプロンプト内では、ruby、heroku(まあ当然だ)だけではなく、git, diff, patch, ssh, scp(早い話がMSYS)が利用できる。gitなどは、C:\program files\gitへインストールされている。

9) どうしてもcmd.exeが気に食わなければ、c:\program files\git\Git Bash(またはGit Bash.vbs)を実行するとbashが動く。Git bashはデスクトップなどにコピーしておけば、ダブルクリックでbashが動くので幸せになる人もいると思う。(注:他のウィンドウの下に隠れていて気付かなかったので良くわからなくなったが、インストールするとGit bashはデスクトップに配置されているかも知れない)。こちらのショートカットは最初から「"」でパスが囲ってあるので問題ない。というか、cmd.exeはデバッグ(テスト)していないということだろうなぁ。

というわけで、1点惜しいところはあるが、実に良い。さすが、俳句英雄だ。

というか、このパッケージのC:\program files\gitの部分はASR(Ruby-1.9.3-pxxx.msiというファイル名だけど、ASRはASR)に入れようかな。ライセンス的には問題ないと思うがどうだろうか。

_ もう1点惜しいところがあった

良く見ると、bashのプロンプトが
loginuser@host ~
$
と、変なところで改行されている。なんだこれ?
(echo $PS1しても良くわからないなぁ。というか、bashってマウスでコピペできないのか。しょせんMSYSだしな)

追記:alt-space pで簡易編集をチェックしたら(下はcmdなのかな)コピペできるようになった。

\[\033]0;$MSYSTEM:\w\007 \033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\] $
となっている。

追記の追記:ZnZさんに教わって、ruby -e '-p "ARGV[0]"' $PS1 したら意図的に改行を含んでいるのだった。ふーんそういうものなのかなぁ。あと、__git_ps1はツッコミでmrknさんやishiksakaさんがが教えてくださっているように(感謝!)Gitのブランチ名に置き換わります。

_ もう1点

git pushで、https://arton@github.comのパスワードを求められるのは良いけど、というか求められなければおかしいが、Authentication failedになる。これもなぜだ? だなぁ。

追記:そういえばこれ動かしているマシンに秘密鍵をインストールしていなかった。それか。

本日のツッコミ(全4件) [ツッコミを入れる]
_ mrkn (2012-02-19 12:03)

もしかして、git リポジトリの中に cd すると、空行だった所にブランチ名とかが表示されていたりしませんか? $(__git_ps1) がそれなんじゃないかと。

_ ishisaka (2012-02-19 14:30)

msysGit付属のBashだとそうですね。最後に(ブランチ名)になります。httpsでpushできないのはmsysGitが多少古くてバグが直っていない可能性も。まぁでもgithub相手ではsshの方が無難な気がします。

_ arton (2012-02-19 20:51)

すみません。空行ではなく(preのスタイルで行間が空きすぎるので紛らわしいですね)「$」とその前でプロンプトが2行になるのが妙な印象でした(未だに妙だと思うけど、エスケープシーケンスのどれが改行に相当しているのかまだわからない)。__git_ps1は確かにブランチ名に置き換わりますね。これはわかりやすいというか、複数ブランチにcdしまくって作業することを想定しているのかなぁ。

_ ayumin (2012-02-28 10:12)

Welcome to Social coding!!<br><br>https://github.com/heroku/toolbelt


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|

ジェズイットを見習え