EmacsからGitを使う (git.el)
前の続き。
必要なファイルを集める
なんかgit.elとgit-blame.elというのが必要らしいので探します。インストールしたgit-coreに含まれているらしいのでSpotlightで検索してみたら
/opt/local/var/macports/software/git-core/1.7.5.2_0+doc+python27/opt/local/share/doc/git-core/contrib/emacs
にありました。git.kernel.orgから落としてきてもよさそう。
これらをコピーしてload-pathの通っているところに置きます。僕の場合は
(add-to-list 'load-path "~/.emacs.d/site-lisp/")
としていたので、ここに置きました。
で、Emacsの設定ファイル(~/.emacs.d/init.elとか)に以下の三行を追加。
(require 'git) (require 'git-blame) (require 'vc-git)
とりあえずこれで使えるようになったはず。
使ってみる
……と思ったけど、どうやらgit.elではgit initできないらしい。仕方ないのでshellモードに移ってgit initする。
$ git init Initialized empty Git repository in /Users/kaz/Documents/test/001/.git/
で、M-x git-statusと入力して対象ディレクトリを選択すると
Directory: /Users/kaz/documents/test/001/ Branch: master Head: Nothing committed yet Unknown test.txt
というようなgit-statusバッファに切り替わります。基本的に操作はすべてこの画面から行うようです。この画面で”?”と入力、もしくはM-x git-helpでヘルプが起動して、操作方法が表示されます。
とりあえずtext.txtのところまでカーソルを移動させてa(git-add-file)を入力してみると
Directory: /Users/kaz/documents/test/001/ Branch: master Head: Nothing committed yet Added test.txt
と、test.txtのステータスがAddedに変わりました。さらにc(git-commit-gile)をタイプすると、メッセージ入力画面になり、入力してC-c C-cでコミット完了。
Directory: /Users/kaz/documents/test/001/ Branch: master Head: 1e49ec60a9 - my first commit. Uptodate test.txt
git-statusがこんな感じに書き換わります。
で、前回やった特定ファイルのcheckoutをやってみようと思ったものの、git.elだとできないっぽい。initのこともあるし、ほかのフロントエンドにするべきか……?
と、今日はこの辺で終了。checkoutも含めて、Gitの基本的な機能を理解できてないので、次回はそのあたりの勉強をすることにします。(こういう風にブログに書くことを宣言しておくと、後回ししたりせず、しかも理解が早い事に気づいた)