blog.hekt.org

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の基本的な機能を理解できてないので、次回はそのあたりの勉強をすることにします。(こういう風にブログに書くことを宣言しておくと、後回ししたりせず、しかも理解が早い事に気づいた)