EmacsでGit(ローカル)

EmacsでGitを使ってみる

インストールしたmagitを使ってみる

  • magitの起動
  • リポジトリ
  • ステージング
  • コミット
  • ブランチ
  • マージ
  • コンフリクト

magit(magit-status)の起動

C-x gで立ち上がる.(そのようにinit.elに書いておく)

以降,情報を更新するときは,g

リポジトリ

GitHubなどのリモートリポジトリからクローンするのでなく,リポジトリでないところで magitを立ち上げると,新規にリポジトリを作るか聞かれるので,表示に従って作る.

もし,今使っているリポジトリ以外にもう一つ別のリポジトリを作りたければ,M-x magit-init

ステージング

リポジトリ中のファイルを編集し,(必要に応じてgでmagit-statusを更新すると) Unstaged Changesとして検出される.

f:id:tampaku:20210311224039p:plain

カーソルを合わせてTabで詳細が表示される(Tabを繰り返すことで閉じる)

f:id:tampaku:20210311224044p:plain

sでステージングする

f:id:tampaku:20210311224415p:plain

ファイル中の特定の範囲だけを選択してsするとその範囲のみステージングされ, 残りはUnstatedのままになる.

f:id:tampaku:20210311224048p:plain

コミット

c cでコミットできる.

続いてメッセージの入力を求められる.

f:id:tampaku:20210311224608p:plain

適宜入力したら,C-c C-cで完了

ブランチ

作成

l bでログを表示

f:id:tampaku:20210311233456p:plain

ブランチを作成したいコミットを選んでb c RET, ブランチ名を入力してRETすると作成される.

f:id:tampaku:20210311233459p:plain

チェックアウト

ブランチを切り替えるにはb b

名前を聞かれるので,入力してRET

f:id:tampaku:20210311233502p:plain

マージ

m m RETでマージする.

コンフリクト

コンフリクトがある場合,対象ファイルの問題箇所が示される.

f:id:tampaku:20210311235730p:plain

<<<<<<<>>>>>>で囲まれた範囲を編集し,保存し,あらためてm mでマージする.

コンフリクトを解消せずに前の状態に戻るときはm a