読者です 読者をやめる 読者になる 読者になる

亀岡的プログラマ日記

京都のベッドタウン、亀岡よりだらだらとお送りいたします。

Cygwinで頑張る快適Windows Git計画

Git

msysGit、いいですよね。

いいんです、よ。ですけれど、標準のGitBashで日本語が入らない、というのが痛すぎます。
"-m" フラグを使ったコミットができないと、さくさく書く流れになれないのですよね。残念・・・

まぁcmdを捨てて、minttyでbash起動してパスを通すと、実は使えないわけではなかったりするのですが、インタラクティブな動作が死んでしまうらしく、実質使えないのが現状です。

んじゃあどうするかというと、Cygwinです。

ふむ。素晴らしい。でもCygwinって重たいし、なんか環境壊してきそうな気もするし・・・

そんなあなたに、gnupackです。

gnupackはアーカイブ展開のみで即座に cygwinemacsが使える環境を提供します.

gnupack Users Guide

(゚∀゚)o彡゜EmacsEmacs

違う、Gitの話だった。

さて、期を落ち着けてインストールしましょう。develパッケージを選んでおくのが無難でしょう。

作業としては、、アーカイブ展開以外には何もすることはないです。中には、Terminalとgit、そしてvimのショートカットが入っています。

f:id:posaunehm:20121204015616p:plain


基本はTerminalを使うことになりますね。これはcygwinbashがminttyを通して立ち上がります。

f:id:posaunehm:20121204015721p:plain

さて、Gitですが、残念ながら標準Installでは入っていません。
しかしdevelを入れておくと、apt-getやらbrew風味な、apt-cygが入っています。コマンドラインでガシガシインストールできるわけです。

コレは非常に便利で、railsくらいまではapt-cygとgemで普通にインストールできたりするのですが、gitはもちろんコマンド一つでOKです。

# apt-cyg install git

これで普通に使えます。が。コード補完が効きませぬ。

なのでgit-completionを追加します。これもapt-cygで入ります。

# apt-cyg install git-completion

このままだと使えないのでsourceコマンドを実行します。

# source /etc/bash_completion.d/git

bashrcなどに設定しておくとよろし。

これで大体開発に使える位にはなってくれます。ハイ。

ヨソのツールとの連携は・・・?

GitExtentionsはgit.exeのパスの変更のみで、いとも簡単に動作します。
f:id:posaunehm:20121204014724p:plain

Git Source Control Provider for VS はちゃんと動作してくれませんでした・・・。インターフェイスは同じはずなのに何が違うんだろう・・・

まぁ個人的にはこれで十分に使える感じです。何よりほぼコマンドウィンドウでカタがつきますしね。

あ、最後に。gitkは最新版は恐ろしいことにX-Windowを要求するので使いものにならないです。おとなしくコマンドライン表示をカスタマイズするか、GitExtentions使いましょう。

2012/12/06追記

どうも、インストール時にハードリンクが貼られない不具合があるようです。(@masaru_b_clさんありがとうございます!!)

 Cygwin1.7からシンボリックリンクに Windowsのシステム属性というのが使われているというのをどこかのWebページで見かけたことがあります.Windows標準コマンドの attribを使って,何か改善することはありますでしょうか?
 会社の環境で再現しているとのことですが,例えばグループポリシーが設定されていて,それが影響していることはありませんでしょうか?

フォーラム: ご意見掲示板 - awkが起動できない - gnupack (cygwn + emacs package) - SourceForge.JP