Emacs Magitメモ

magitはgitのEmacs用フロントエンドです。Emacs24以降であればパッケージ管理より簡単に導入できますが、利用にはGitがシステムにインストールされている必要があります。

有効化

init.elに以下の設定を記述することで有効化されます。

(require 'magit)

magit-statusモード

magitを利用するには以下のコマンドを入力します。コマンドを入力するとリポジトリのPATHを入力するよう要求されますので、適切なPATHを入力してください。

M-x magit-status

これで、magit-statusモードのバッファが表示されます。

magitのコマンドは沢山あるようですが、よく解らないので使いそうなものだけピックアップします。他のコマンドに関してはMagit Cheatsheetなどをご参考ください。

操作 コマンド
ログ閲覧 l l
詳細ログ閲覧 l L
ステージに追加 s
ステージにすべて追加 S
ステージから削除 u
ステージからすべて削除 U
コメント入力 c
コミット コメント入力画面でC-c C-c
コミットのやりなおし コメント入力画面でC-c C-a
中央リポジトリへPUSH P P
ローカルリポジトリへPULL F F

Gitについて

以下のような開発手順を想定しています。

  1. 中央リポジトリからPULL
  2. ローカルリポジトリで開発
  3. 中央リポジトリへPUSH

中央とかローカルとかそんなものを用意しなくてもいいのかもしれませんが、中央リポジトリをひとつのディレクトリにまとめておけばバックアップとかが楽かなぁ、と思いまして。

中央リポジトリの作成

新たなプロジェクトのための中央リポジトリを用意します。

% mkdir /PATH/TO/CENTER/REPOS
% cd /PATH/TO/CENTER/REPOS
% git init --bare

これで内容が空の中央リポジトリが生成されます。

ローカルリポジトリの作成

プロジェクトのディレクトリへ移動し、ローカルリポジトリを生成します。

% cd /PATH/TO/PROJECT/DIRECTORY/
% git init

中央リポジトリへPUSH

ローカルリポジトリにプロジェクトのファイルをコミットして、中央リポジトリにPUSHします。

% git remote add orign /PATH/TO/CENTER/REPOS/
% git add .
% git commit -a
% git push

中央リポジトリからローカルリポジトリをクローン

何かの弾みでローカルリポジトリを消してしまったりしたら、中央リポジトリからクローンを作りましょう。

% git clone /PATH/TO/CENTER/REPOS/