emacs magitでソース管理

cygwin上のemacsから使い易い gitクライアントが無かったので、
Windowsでの開発では、ソースの編集はemacsでやっていても、
バージョン管理には TortoiseGit を使っていた。

TortoiseGit は GUIが上等なので、それはそれで便利なのだけど、
いちいちマウスを持つのが面倒なので、
編集に関わる作業は全部emacsの中で連続してやってしまいたい。

で、 magit を使うことにした。

今迄 emacs内でgitを触りたくなかったのは
cygwinのファイルアクセスが異常に遅いのが理由なのだけど、
最新のemacs-win64(25.0.50)とmagitの組み合わせなら何とかなる範囲。

で、インストール。

一旦、magitをGitHubからダウンロードしたものの、
中のドキュメントを見たら、 emacsのパッケージからインストールできる、
という事だったので、そっちに方針変更。

ドキュメント内では、 Melpa と Marmalade のパッケージが説明されていたけど、
結局、 Elpa 内の magit を使うことにした。

使用している git は 2.5.0、emacsは25.0.50 なので、
動作条件は満しているものの、 emacsがHEADのせいか、
こういう状況だった。

  • Melpa は、パッケージ自体に問題がちょいちょい起こるのでリストから外している
  • Marmalade の Magit は、バージョンが 1.2 だったけど、エラーで動作せず
  • Elpaの Magit は、バージョンが 0.8.1 で、かなり古いけど、問題なく動作する

Elpaのパッケージは更新されそうにないので、
そのうち GitlHub の Magit 2.1.0 に乗り換えるかも知れない。

で、Magitの使用方法は、とても簡単。

で、今のソースの更新状況が表示される。

これが emacs に出るのが本当に嬉しい。
うっかり編集や、気の迷いでチョット修正したのを忘れてしまう、
という、本当におバカなミスを防いでくれる。

TortoiseGit だと気付くタイイングが大分後になってしまうし、
そもそも作業が億劫なので、こまめに commit しなくなるから
gitの有難味が、ちょっとそがれてしまう。

emacs の magit-status 画面で普段使う機能は以下の通り。

  • s でファイルを一つ add
  • S 全ファイルを全てadd(git add -A)
    • 実際には C-u S とする
  • c コミット
  • u addの取消
  • l ログ一覧表示
  • L ログ一覧詳細表示

Macでの作業は、基本個人のローカル運用なので、コレで十分。

Windowsの開発案件で必要な pull/push/merge などは、
今のところ TortoiseGit を使っている。
外部と関わる重要作業は、GUIがしっかりしていた方がちょっと安心なので。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です