2009-05-24
magit.el を試してみた
emacs | |
egg.elいまいちーと書いたところ、
@gom egg.elが嫌ならmagit.elでどう?俺的にはそっちのが使いやすいけど。
http://twitter.com/rubikitch/statuses/1901340067
と id:rubikitch さんに教えてもらいました。ありがとうございます。
というわけで、早速試してみた。
インストール
makeするのね
$ git clone git://github.com/jdhuntington/magit.git $ ./autogen.sh $ ./configure --prefix=$HOME/lisp/magit $ make $ sudo make install
.emacsの書き換え
(add-to-list 'load-path "~/lisp/magit/share/emacs/site-lisp/") (require 'magit)
git status
statusバッファ上でキー操作を行う。
キー操作は以下の通りで、大体の操作はできる模様。
違うbranchにpushするとか、refspecをごちゃごちゃいじる辺りはどうなってるのか不明。
M-x magit-status
- TAB: セクションの表示を切り替える
- M-1, M-2, M-3, M-4: セクション表示の切り替え
- Section: Untracked file
- s: ファイルをステージに追加する(git add)
- i: .gitignoreにファイルを追加する
- C-u i: ignoreファイルを指定する
- I: .git/info/excludeにファイルを追加する
- k: ファイルを削除する*1
- Section: Unstaged Changing / Staged Changing
- s: ファイルをステージに追加する(git add)
- S: 全ファイルをステージに追加する
- u: ファイルをステージから降ろす
- U: 全ファイルをステージから降ろす
- k: 変更を取り消す
- c: コミットログを書く
- C: コミットログをチェンジログ形式で書く?
- C-c C-c: コミットする(git commit)
- C-c C-a: コミットをやり直す(git commit --amend)
- Log
- h or H: 今のHEADまでのログを表示する
- d: ワーキングコピーからあるコミットまでの差分を表示する(git diff)
- D: 2つのコミットの差分を表示する
- t or T: タグを作成する(git tag)
- x: コミットを取り消す(git reset --soft)
- X: コミットと変更を取り消す(git reset --hard)
- Stash
- z: stashを作成する(git stash)
- a: stashを適用する(git stash apply)
- A: stashをpopする(git stash pop)
- k: stashをdropする(git stash drop)
- b: ブランチを切り替える(git checkout)
- B: 新規ブランチを作成して切り替える(git checkout -b)
- w: wazzup?
- m or M: マージを行う
- X: 手動マージを中止する
- e: resolved conflict?
- R: rebase
- P: push (default remote, current branch)
- f: git remote update
- F: pull
- git svn
- N c: git svn commit
- N r: git svn rebase
後半は疲れてしまったのでかなり適当です。
必要なコマンドは押さえられていて、いい感じに扱えそう。
久々にEmacsをいじくってみる
Textmateも便利でいいのだけど、補完機能とか考えるとやっぱりEmacsだなーと思い始めた今日この頃。
- 行番号
- 行番号ジャンプってないのかなーと思ってた。
- \M-g\M-g または \M-g g でGoto-lineが出てくる
- linum.el で左側に行番号を表示できるようにした
- rcodetools.el と anything.el, anything-rcodetools.el が便利
- egg.el
- emacsからgitをいじれるのは便利。
- 自分の脳容量だと、キーバインド覚えるよりshell起動させた方が早い
- http://wiki.github.com/bogolisk/egg
- rinari
- rhtml-modeで入れてみた
- キーバインドが"C-c ; f c"とか面倒すぎ。かといって下手なバインドに変更すると他とバッティングしそう。
- Rinari: Ruby on Rails Minor Mode for Emacs
とりあえず anything と rcodetools に慣れると幸せになれそう。
*1:物理的に削除されるようだ
コメントを書く
