はじめようemacs 第2回 〜emacsでGitを使う(magitの紹介とチートシート)〜
HappyElementsエンジニアの早田です。
前回に引き続きまして、emacsの話をします。 今回は前回の投稿と趣きを変えまして、emacsでGitを使用する際に便利そうなelispを紹介します。
テーマの理由としては現在HappyElementsでは全社的にSVNからGitに移行しているため、 私の所属しているチームでもGitを使用することとなりました。 その際に使えそうなelispがあったので、使用方法のメモも兼ねて紹介しておきたいと考え、今回のテーマとしました。 (既に様々なサイトやブログで紹介されていますがご了承下さい)
前提条件
・gitコマンドが使用出来る状態であること ・emacsがインストールされていること ・emacsの設定について基本的な知識を有すること
インストールと設定方法
- まずgithubからMagitをダウンロードします。ターミナルで以下のコマンドを実行します。
$ git clone https://github.com/magit/magit.git
- 次にダウンロードしたmagitディレクトリに移動しmake installを行ないます。
$ make && sudo make install
※デフォルトでは /usr/local/share/emacs/site-lisp にコピーされます 別の場所にインストールしたい場合には「--prefix=インストール先」を指定して下さい
- 最後にinit.el(または.emacs)に以下を書き加えます。
(require 'magit)
私は使用していませんが、magitをgit-svnで使用する場合には
(require 'magit-svn)
StGitを使用する場合には
(require 'magit-stgit)
で使用出来るようになるそうです。
操作方法(とチートシート)
上記の設定が完了すれば、すぐに使用出来るようになります。 ここからはHappyElementsでのプロジェクトで普段主に使用する機能の操作方法とその他に機能のチートシートを書いておきます。
1.まずはmagitを立ち上げます。diredでgitで管理しているプロジェクト(.gitがあるディレクトリ)に移動し、 下記を実行する(git status)
M-x magit-status
すると上記のように、現在のgit-statusが表示されます。
2.次にまだgit管理下にないファイルをaddするために、ファイル名の上でsキーを押下します。サンプルではindex.htmlをaddしています。(git add)
すると、Staged changes:が表示されindex.htmlがaddされていることが分かります。
3.では次にコミットログを記入しコミットを行ないましょう。(git commit) ・status画面にカーソルを当てている状態で、cを押下。すると下記の通り画面上部にコミットログ記入画面が表示されます。
・最後に(C-c C-c)を押下します。
以上で、ファイル作成→インデックスへの登録→コミットの一連の流れが完了しました。
その他の機能の操作方法は以下の通りです。(全てという訳ではありません)
機能 | 操作コマンド |
---|---|
.gitignoreにファイルを追加 | i |
ファイルの物理削除 | k |
全ファイルを全てadd(git add -A) | S |
addの取消 | u(全て取り消す場合はU) |
ログ一覧表示(git log) | l(詳細はL) |
コミットを取り消す(git revert) | v |
Pull | F |
Push | P |
マージする | m |
タグ作成 | t |
まとめ
本日書いた以外にもmagitには色々な機能があります。またmagitより便利なelispが世に出回っている可能性もあります。 私自身まだ使いこなせていないため、表面的な部分しか触れておりませんが、普段業務でに関してはこの程度でも十二分に便利にこなせていけるのではないかと考えております。
相変わらず稚拙な文章にお付き合い頂きありがとうございます。記事を読まれた方でもっと詳しく使い方や詳細な設定方法をお知りになりたい方は こちらの公式のマニュアル(英文)をどうぞ。