モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

はじめてのGit

前エントリーNSEG Git勉強会関連


実際に試してみるため

  • Linuxへgitのインストール
  • WindowsへTortoiseGit+msysgitのインストール
  • githubへの登録と利用

を行ってみた。


その過程でいくつかわかったことメモ。

Linuxへのgitインストール

Linuxへのインストールでは、最新のものを利用したかったため、パッケージ管理で入れるのではなく、tarballからコンパイルして入れることにした。


Git - Fast Version Control System

から git-1.7.2.tar.bz2 を取ってきて開ける。


./configure ; make
だけで行くかと思いきや、僕の環境では下記エラーがでてダメ。

error: invalid Python installation: unable to open /usr/lib/python2.3/config/Makefile (No such file or directory)

これは「python-dev」が入ってないのが理由だった。下記エントリーが参考になった。

試験管のなかのコード :: 2007/03


ので、これはパッケージ管理のほうで入れて再度makeしてmake install。
それでさっくり使えるようになった。

WindowsへのTortoiseGitインストール

WindowsでGitを使うにはmsysgitを使うのが一般的ということだったが、TortoiseSVNがすごく便利だったのでTortoiseGitを入れることにした。


TortoiseGitを入れると勝手にmsysGitも入れられるという噂だったんだけど、少なくとも今のバージョンでは入らず。自分はTortoiseGitだけ入れて、msysGitのパスどこ?と聞かれてしまった。
なので、msysgit入れてからTortoiseGit入れると良いだろう。


下記公式サイトからそれぞれのバージョンを取ってきてインストールした。

ちなみにmsysGitはStableで一番新しいやつを入れようと思ったんだけど、Stableってないの??ちょっとよくわからなかったので、previewってついてるほとんど最新のやつを入れることになった。


msysgit - Project Hosting on Google Code
msysGit-fullinstall-1.7.1-preview20100612.exe


tortoisegit - Project Hosting on Google Code
TortoiseGit-1.5.2.0-32bit.msi


あとmsysGitインストールするとき、なんかcygwinみたいなターミナルが動くからこれなんだろう?と思って見てみたら、cygwinベースで最小限のコンパイル環境だけをそろえたMinGWってのがあるのね。

MinGW | Minimalist GNU for Windows


TortoiseGitはメニュー等の日本語化もされてるようなのだが、最新のバージョンには対応してるのか不明だったので日本語化はせず。

Windows上での日本語ファイル名対応について

どうもTortoiseGitはまだ多国語対応があまい。
日本語ファイル名でも対応してくれるか試してみたが、ほとんどうまくいくのだけどダメなものがあった。
調べてみるとどうも「構」という文字があるとうまくいかなかった。文字コードで特定のbitが立ってるやつはダメとかそういう感じ?
で、msysGitからだと通ったようだったので、TortoiseGitの問題のように思う。


(追記)

これについては下記エントリーが参考になった。

TortoiseGit 1.0.2.0でコミットに失敗する原因は0x5c問題 - renoivのブログ

「構」と「表」で失敗するということで Shift=JIS 2バイト目が5C等になりうることによる問題 だろうとのことです。

msysgit(コマンドライン)ではutf-8で処理したために問題にならず,TortoiseGitではShift-JISで処理したために起こる問題でした。

バグレポートは上がっているのだけど未だ対応はされてないようです。残念。


また、WindowsでのGitの日本語対応については下記Wikiページが参考になった。
…ってPukiWikispam_filterの件でお世話になってるTOBY SOFTさんのところのページですな。

git/gitで日本語を扱う方法 - TOBY SOFT wiki


(さらに追記)

コメントで上記日記の id:renoiv さんから、UTF-8ファイル名対応化されたgit for windowsがあるということを教えていただきました。

http://tmurakam.org/git/

fopen()をUNICODE版の_wfopen()に置き換える等、ファイル関数をUNICODE版のものに置き換えることで対応しているとのことです。なるほど。

とりあえず使ってみて、状況などまたここに追記できたらと思います。


(2010/9/1追記)

使ってみて。


まず、git for windowsとmsysgitはほとんど同じ?だけど別のものなので、msysgit入れてる場合はアンインストールしちゃったほうが良い気がします。
僕はてっきり上書きインストールした気になっててmsysgitのままのgit使ってるの気が付きませんでしたよ…


日本語通るようになるんだけど、それまでの文字コードで登録されてたぶんがUTF-8になるため別ファイルとして認識されるので、そのあたりがちょっと気持ち悪い。でもその後は問題なし。

GitHubの登録

GitHub

ここからアカウントを作る。リポジトリをオープンにする場合は無料。これはさっくり作れる。
アカウント作ったら、名前とかそのへんのプロフィールをちょっと修正。


ちょっとめんどくさいのがSSHキーの登録。
やりかたはこのページを参照して行った。

Help.GitHub - Generating SSH keys (Linux)

基本的には、Linuxのコンソール上でssh-keygenコマンドを使ってキーを作り、それをGitHubのプロフィールにコピペすればOK。
ssh-keygenで自分のssh秘密鍵が上書きされちゃったりしないんだっけ?とか思ってバックアップ取ってからやったのだけど、大丈夫だった。
Windows上というかmsysGitでもできるんじゃないかと思うんだが、そこはやってないから不明。

Gitの使い方やTips、感想

とりあえず、gitのすごーく基本的な使い方については、結城さんが書かれている基礎解説ページを参照した。

Gitの基礎練習


Gitは今作ってるものをそのままリポジトリ化と言えばいいんだろうか?その場でGitでの管理に持ち込むことができるのがすごく手軽。
TortoiseGitでは「Git Create repository here」するだけ。便利だ。


また、Linuxからコマンドでやる場合にコメント書くのにviが上がってきたので、エディタにemacs指定するにはどうするんだろう?と思って調べたらこちらが参考になった。

Pro Git - Pro Git 7.1 Git のカスタマイズ Git の設定

$ git config --global core.editor emacs

ちなみに ~/.gitconfig にこの辺の設定が保存されている。


使ってみたところ、gitはなにやるにも軽い!と思った。ローカルで動かしているTortoiseSVNからTortoiseGitでは軽さに変化ないだろうと思ったのに、それですら軽い気がする。

ただやっぱり日本語ファイル名とかそのへんは、まだちょっと不安が残る感じ。
開発に使う分にはいい感じに思うが、Excelのファイルだとかで日本語ファイル名使ってるような場合には移行をちょっと躊躇しそう。