今はほめられ不況なのでほめられインフレを恐れずにもっとほめましょう。
今はほめられ不況なのでほめられインフレを恐れずにもっとほめましょう。
なんかGitを勧められたのでこの際だから試してみることにした。CVSやSubversionで十分なんだけどなぁ。ぶつぶつ……。
せっかちな人のための git 入門 - git をインストールし、共同で開発できる環境を整えるまで : 僕は発展途上技術者を読んだ。なるほど、CVSやSubversionはローカルにワーキングコピーを作るけど、Gitは作業するところは常にリポジトリで、リポジトリ同士を同期していく感じなのかな。
とりあえずやってみよう。Cygwinでgitを入れて、適当なディレクトリを作ってgit init、readme.txtを書いてgit add readme.txt。
fatal: cannot use .git/info/exclude as an exclude file
あれ、なんだこりゃ。エラーメッセージで検索してみると、どうやらテキストモードでマウントしているとダメらしい。バイナリモードでマウントすべし、と。えー、バイナリモードだとCVSがUnix改行コードで入出力してしまうんですけど……。
どうしよう、道は二つ。
CVSを使うディレクトリはテキストにして、Gitを使うディレクトリはバイナリにする、なんてのはさすがに嫌。
msysgitをインストールしてC:Program FilesGitbinへパスを通してからやり直したらちゃんとできた。Cygwinのbashからも問題なく動いているように見える。
git addしたらgit commit。名前とメールアドレスを設定した方がいいと出たので、表示されたとおりに操作したら、%HOME%/.gitconfigが作成された。よしよし。
さて、サーバーとのやりとりも試してみようか。サーバー側にもGitを入れて、git –bare initでリポジトリを作る。–bareを指定するとローカルでやったときに作られた.gitディレクトリの内容相当が生でトップのディレクトリに展開されるみたいだ。確かに作業用のファイルなんかいらないので、サーバー上ではこの方が都合がいい。
ローカルに戻って、git remote add origin ssh://~でサーバーのリポジトリを設定して、git push origin masterすると……、んん? ssh鍵のパスフレーズを聞いてきた。win-ssh-askpassが効いてない? いや、どうやらmsysgitに付属のssh.exeが使われているせいらしい。__ssh.exeのようにファイル名を変えてCygwinのssh.exeが使われるようにしたら、パスフレーズを聞かれることはなくなった。
なるほど、細かい疑問点はいろいろあるけれど、ひとまずはよしとしよう。
次はMeadow上から操作できるようにしたい。Emacsクライアントはどうすればいいのだろうか。検索で上位に出てきたMagitというのを使えばいいのかな。とりあえず入れてみよう。