magitのつかいかた
ひとりでmagit
2025.3.6: r1
2014.2.27:初版
Emacsでgitを使う方法。
昔個人のPCで一人gitしててめげましたが、github使うために再開しました。
環境はbookwormです。
準備
2025.3 magitをpackage-install時
Emergency (magit): Magit requires ‘seq’ >= 2.24,
と言われたのでseqをpkg-install
1 M-x package-install seqとしてから、package-install magitした。
magitの作業がよくわかる。
Emacsでgitを使うために、magit.elを用いた時の簡単な使い方
M-x magit-init
管理dirを聞かれ、Bufferには ~/****/*****と現在のdirが表示される。 しかし~をHome直下(home/hoge)と認識してくれず、現在のdirを~と認識して、深いdirを掘ってしまう。
1 ./と指定すること
M-x magit-status
通常magitへの入口
git管理下のdirで実行したらmagitのbufferが開く。
Untracked files Unstaged changes
などが現れる。
Unstaged changes はファイル名が表示されているが、 Untracked files は何も表示されていない
gitで管理するファイルを選択する
addのことかな?? stagingが正しい言い方のよう(SVNと混同しないようにstagingと名付けたらしい)
Untrackedにカーソル動かして tabキー押すと、untrack新規ファイルが表示される。
1つずつしかstagingできない?ようである。 ファイル名表記部にカーソル動かして、sキー(staging)を押す。
Staged changesに
new file ファイル名 modified ファイル名
が表記される
カーソルをファイル名に移してから、sキーを押すと、そのファイルはステージに上がる。
S(大文字S)なら全ファイル指定。
C-u-i ならignoreファイルとして指定?から始めても良い。コマンド一覧が表示
- c
同じ画面からcを押すとArguments/Create/EditHEADなどの画面になる。
もう一度cを押してCommit注釈を入力画面にする。 commitの注釈を入力する。
注釈文を書かないと、commitできない。
注釈文は1行目に主な項目、3行目以降に詳細を記述。 2行目には書かないこと(赤字になる)
注釈文の書き方:https://qiita.com/itosho/items/9565c6ad2ffc24c09364 - C-c C-c
注釈文を書いたあとcomitするにはC-c C-c - pushするには、P
push先のurl登録してなければ、聞いてくる。
git remote add origin htts://hoge/[].gitと同じ logを見るには
magit-log(-all) magit-statusからll
など
- ファイル削除
magit-file-delete - ブランチ作成
M-x magit-status
としたあと、 bを押すとブランチ操作メニューが現れるので、 そこでnを押すと新規作成してくれる vはブランチ操作メニュー 分岐元を指定 - chkout
mainから選択したらあちこちいける?? 分岐元をmainに選ぶ。(tabで選択) local brunchに変更
編集後はguthubには、pushだけでok
1git push -u origin mainmiscなこと
keybind設定おすすめ
https://kazuhira-r.hatenablog.com/entry/2023/11/16/001403
1;; magit
2(define-key global-map (kbd "C-x g") 'magit-status)
3(define-key global-map (kbd "C-c g") 'magit-dispatch)
4(define-key global-map (kbd "C-c f") 'magit-file-dispatch)https://magit.vc/manual/magit/Global-Bindings.html
User Option: magit-define-global-key-bindings
1 This option controls which set of Magit key bindings, if any, may be added to the global keymap, even before Magit is first used in the current Emacs session.
2
3 If the value is nil, no bindings are added.
4 If default, maybe add:
5 C-x g magit-status
6 C-x M-g magit-dispatch
7 C-c M-g magit-file-dispatch
8 If recommended, maybe add:
9 C-x g magit-status
10 C-c g magit-dispatch
11 C-c f magit-file-dispatchmagit-status magit-init ここではkeybind設定:不要!
https://joppot.info/posts/f2721fb2-0942-4c4e-90e2-0dbdbb329bce
magitはデフォルトでキーバインドされているコマンドは2つしかありません。
"C-x g" magit-status)と("C-x M-g" magit-dispatch-popup)です
C-h bでみたら magit-dispatch は?,C-c C-c, C-x M-g,hにbind済
## Git をはじめからていねいに
https://github.com/Shinpeim/introduction-to-git
上記をmagitで実施した例
Magit を使ってみる
https://qiita.com/ignorant/items/86d353e3ada299f12836
## git公式ドキュメント
https://git-scm.com/book/ja/v2
## magitざっくりチートシート
https://qiita.com/yoshikyoto/items/fffbe1d46953d020939e
amendは c a (commitはc cなので2つめのcをaにする)
##EmacsでMagitを使う
https://iriya-ufo.net/blog/2022/02/22/magit/
##Emacsの最強GitクライアントMagitの使い方(Joppot)
https://joppot.info/posts/f2721fb2-0942-4c4e-90e2-0dbdbb329bce
##試行錯誤な日々/emacsでmagitを使ってタイプ数を減らす話
https://asukiaaa.blogspot.com/2017/09/emacsmagit.html
## magit 覚書
http://tanehp.ec-net.jp/heppoko-lab/prog/resource/magit/magit_memo.html