いまさら git の練習
自宅のマシンのファイルは現在 Subversion で管理してるのだが(TortoiseSVN が便利すぎるのだ),今後のことも考えて git も使えるようにならないとまずそうだ。 ちうわけで,今作業中の文書(TeX)ファイルを git で管理してみることにした。 いや,随分前から git を使えるようにならなきゃと思ってたんだけど,仕事で使わない道具を使うのはどうしても腰が重くなる。 歳かねぇ。
今回は MSYS 版の git と TortoiseGit を使ってリポジトリの作成からファイルのコミットまでできるようにしておく。 git の本領である分散型の管理についてはまた今度。 なお教科書として, Travis Swicegood 著(でびあんぐる監訳)の『入門 git』を使うことにする。 (git の本は本屋でいくつか見比べたが,購入時点ではこれが一番わかり易かった)
まず MSYS 版の git のパッケージをダウンロードしインストールする。
(ちなみに “install msysGit” に行こうとしたがはねられた。 kernel.org がクラックされてダウンしているためだ。 復旧はいつになるやら)
Downloads ページに行くと Git-1.7.6-preview20110708.exe というファイルがあったのでこれを使うことにした。 インストール時に気をつける点としては
- エクスプローラへのコンテキストメニュー追加は不要。 TortoiseGit と機能がかぶる上に使い勝手が良くないため。
- コマンドプロンプトから起動できるようにする(と色々便利)。
- ssh への接続は PuTTY の plink.exe (または TortoiseSVN の plink)があればそれを使う。
というところだろうか。
インストールが終わったらユーザの登録を行う。 コマンドプロンプトから以下のコマンドを入力する。
> git config --global user.name "Spiegel" > git config --global user.email "hoge@exsample.com"
user.name
ではユーザ名を, user.email
では電子メールアドレスをセットする。
正しくセットされたかどうかは以下のコマンドで確認できる。
> git config --global --list user.name=Spiegel user.email=hoge@exsample.com
Subversion はリポジトリと作業フォルダが別々になっていたが, git では両者は同じ場所にある。 なので作業したいフォルダに移動して以下のコマンドを入力する。
> git init Initialized empty Git repository in C:/path/to/project/.git/
git ではリポジトリにファイルを追加する際には,いったんステージングエリアに「追加」してから「コミット」する。
> git add document.tex > git commit -m "add document"
修正したファイルをコミットする際も同じ。
いったんステージングエリアに「追加」してから「コミット」する。
ただしコミット時に -a
を付けることで「追加」と「コミット」を一気に行うことができる。
> git commit -a -m "change date item."
コマンドラインでの作業の基本はこれでひと通り。 次に TortoiseGit をインストールする。
これも Downloads ページに行くと TortoiseGit-1.7.3.0-32bit.msi (64bit 版もあり)というファイルがあったので(MSYS 版とバージョンが違うのが気になったが)これを使うことにした。 ちなみに日本語化のサイトもあるのだが,エラくバージョンの古いものしか置いてなかったので止めた。 まっ,このくらいなら英語でも別に困らないし。 日本語化の作業って今はやってないのかな?
少なくともファイルの追加・コミットや差分の閲覧に関しては TortoiseGit のほうが扱いやすい。 ただし,今回は分散管理は試してないので,そっちの方でも使いやすいかどうかはわからない。
思うのだが, git って「分散管理」のイメージが強いのだが,ローカルのマシンでバージョン管理をやるのでも Subversion より扱いやすい。 Subversion のネックはリポジトリの設計なんだよね。 この最初の部分でシクるとすンごく使い勝手が悪くなる。 リポジトリをどこに置くかも問題だしね。
ちうわけで,ボチボチ使っていこうかと。
10/5 追記:
「UTF-8ファイル名対応版 Git for Windows」というのがあるらしい。 現行の msysGit は UTF-8 を上手く扱えないそうだ。 UTF-8 を扱えるようパッチを当てたバージョンとのこと。