VersionCtl/git/magit/v3.3.0
の編集
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
App
App/archiver
App/audio
App/audio/audacity
App/audio/mpg321
App/audio/puddletag
App/base64
App/Browser
App/column
App/diff-patch
App/downloader
App/ffmpeg
App/ffprobe
App/find
App/gimp
App/gnuplot
App/ImageMagick
App/info
App/inxi
App/LibreOffice
App/locate
App/md5
App/Music
App/Music/frescobaldi
App/Music/MuseScore
App/OCR
App/od
App/OpenOffice.org
App/pagers
App/pdf
App/QRコード
App/ripgrep
App/screen
App/script
App/sed
App/selenium
App/signal-desktop
App/skype
App/sylpheed
App/tmux
App/ttyrec
App/uniq
App/UUID
App/wget
App/xargs
App/テキスト処理
App/仮想化
App/仮想化/Docker
App/仮想化/qemu
App/仮想化/webos
AutoTicketLinkName
BracketName
CentOS
CentOS/yum
CrossCompile
Debian
Debian/kernel
Debian/kernel/ver8-or-older
Debian/Plan9関連
Debian/ver5
Debian/ver6
Debian/ver7
Debian/ver8
Debian/ver9
Debian/ver10
Debian/ver11
Debian/ver12
Debian/X
Debian/X/日本語
Debian/パッケージ管理
Deveice/Sensor/MotionSensor
Device
Device/Mouse
Device/Net/wifi
Device/Scanner
Device/Sensor
Device/Sensor/MotionSensor
Device/tty
Device/xmodmap
Editor
Editor/atom
Editor/binary
Editor/binary/beav
Editor/binary/hexedit
Editor/emacs
Editor/emacs/clang-format
Editor/emacs/flycheck
Editor/emacs/gdb-mode
Editor/emacs/github/copilot
Editor/emacs/html-mode
Editor/emacs/lisp
Editor/emacs/lsp-mode
Editor/emacs/markdown-mode
Editor/emacs/neotree
Editor/emacs/package-install
Editor/emacs/sdic
Editor/emacs/speedbar
Editor/emacs/XEmacs
Editor/emacs/ローカルビルド
Editor/emacs/多言語
Editor/fte
Editor/vi
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
iPhone
Lang
Lang/C++
Lang/C++/Boost
Lang/C++/C++11
Lang/C++/C++11/thread
Lang/C++/C++11/コンテナ
Lang/C++/C++11/コンテナ/string
Lang/C++/C++11/初期化子
Lang/C++/C++17
Lang/C++/C++20
Lang/C++/error
Lang/C++/macro
Lang/C++/template
Lang/C++/コンテナ
Lang/C++/処理系
Lang/C-Sharp
Lang/Go
Lang/html
Lang/html/5
Lang/html/5/canvas
Lang/html/css
Lang/Java
Lang/Java/jar
Lang/Objective-C
Lang/Pascal
Lang/Perl
Lang/Perl/CGI
Lang/Perl/thread
Lang/Perl/utf-8
Lang/pike
Lang/Python
Lang/Python/Class
Lang/Python/Error
Lang/Python/import対象パス
Lang/Python/pip
Lang/Python/基本文法
Lang/Python/開発環境
Lang/Rust
Lang/sed
Lang/shell
Lang/shell/bash
Lang/shell/bash/設定
Lang/shell/bash/設定/command-not-found
Lang/Tcl_Tk_Expect
Lang/Tcl_Tk_Expect/Ctrl-キーマップ
Lang/TypeScript
Lang/xml
Mac
Memo
memo
MenuBar
midi
Multimedia
Net
Net/apache
Net/apache2
Net/dig
Net/dns/server
Net/domain
Net/http/アクセス制御
Net/iptables
Net/IRC
Net/Jenkins
Net/lighttpd
Net/mail
Net/mail/X-Face
Net/news
Net/news/gnus
Net/ntp
Net/pukiwiki
Net/pukiwiki/plugin
Net/resolv.conf
Net/SPAM
Net/ss
Net/tcpdump
Net/traceroute
Net/twitter
Net/vpn
Net/web
Net/webAPI
Net/wifi
Net/wifi/AP
Net/監視
otherlinks
PHP
Plan9
PPC
PPC/LinuxPPC
PPC/MkLinux
Prog
Prog/AI
Prog/autotools
Prog/cmake
Prog/Compiler/gcc
Prog/CrossReferencer
Prog/debug
Prog/debug/gdb
Prog/debug/lldb
Prog/debug/ltrace
Prog/debug/memory
Prog/debug/strace
Prog/formatter/clang-format
Prog/GoogleTest
Prog/Gtk
Prog/IDE
Prog/IDE/Geany
Prog/ldd
Prog/make
Prog/nm
Prog/Profiler
Prog/Qt
Prog/readelf
Prog/Sound
Prog/StaticCodeAnalysis
Prog/StaticCodeAnalysis/cppcheck
Prog/strip
Prog/TagSystem
Prog/TagSystem/cscope
Prog/TagSystem/ctags-exuberant
Prog/TagSystem/ebrowse
Prog/TagSystem/etags
Prog/TagSystem/gtags
Prog/TagSystem/id-utils
Prog/TagSystem/lctags
Prog/TagSystem/rtags
Prog/TagSystem/SilentBob
Prog/X/X11
Prog/プロセス間通信
Prog/プロセス間通信/SharedMemory
Prog/プロセス間通信/singal
Prog/人為的なシグナル
Prog/分散ビルド/distcc
Prog/逆アセンブル
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
RS232C
SandBox
Security
Security/aide
Security/chkrootkit
Security/clamav
Security/gpg
Security/pkcs
Security/ssh
Security/test
Security/パスワード解析
System
System/Audio
System/beep
System/bluetooth
System/cpu
System/dm-crypt
System/fs
System/fs/ext2-3
System/fs/mount
System/fs/nfs
System/fs/tmpfs
System/fs/xfs
System/fs/大容量のファイルを高速に作成する
System/fs/強制物理フォーマット
System/grub
System/Hardware情報
System/HDD/IDE/チューニング
System/input
System/iostat
System/Kernel
System/Kernel/Module
System/locale
System/memory
System/OpenCL
System/os
System/power/battery
System/Process
System/random
System/rpm
System/runlevel
System/signal
System/sudo
System/swap
System/USB-Boot
System/user
System/シリアル接続
System/環境変数
TeX
TeX/MusiXTeX
tools
Top/Editor/emacs/python開発環境
transcription/old
Ubuntu
VersionCtl
VersionCtl/git
VersionCtl/git/Gerrit
VersionCtl/git/Gerrit/old
VersionCtl/git/git-gutter+
VersionCtl/git/git-imerge
VersionCtl/git/magit
VersionCtl/git/magit/2.1.0
VersionCtl/git/magit/2.8.0
VersionCtl/git/magit/2.13.1
VersionCtl/git/magit/v3.2.1
VersionCtl/git/magit/v3.3.0
VersionCtl/git/subversion からの移行
VersionCtl/git/subversion とのコマンド対比
VersionCtl/git/tig
VersionCtl/git/統計
VersionCtl/hg
VersionCtl/Mercurial
VersionCtl/repo
VersionCtl/Subversion
WikiEngines
WikiName
WikiWikiWeb
Windows
Windows/cmd
X
X/DisplayManager
X/DisplayManager/gdm3
X/DisplayManager/lightdm
X/font
X/font/old
X/GNOME3
X/input
X/input/OnScreenKeyboard
X/input/キーアサインを変更する
X/input/グラゴル文字
X/input/日本語
X/input/日本語/ATOK X3
X/input/日本語/ibus
X/input/日本語/uim
X/KDE
X/remote
X/screensaver
X/terminal
X/terminal/mlterm
X/terminal/urxvt
X/terminal/uxterm
X/vnc
X/vnc/tigervnc
X/WindowManager
X/WindowManager/9wm
X/WindowManager/amiwm
X/WindowManager/awesome
X/WindowManager/CDE
X/WindowManager/cinnamon
X/WindowManager/dwm
X/WindowManager/flwm
X/WindowManager/i3
X/WindowManager/jwm
X/WindowManager/matchbox
X/WindowManager/MATE
X/WindowManager/mlvwm
X/WindowManager/qvwm
X/WindowManager/ratpoison
X/WindowManager/ude
X/WindowManager/WindowMaker
X/WindowManager/xfce4
X/xdotool
X/Xnest
X/xrdp
X/xvfb
YukiWiki
スタジオ・ホール
旅
旅/Czech
旅/三重
旅/京都・滋賀
旅/兵庫
旅/千葉
旅/各務
旅/和歌山
旅/埼玉
旅/山形
旅/岐阜
旅/岡山
旅/岩手
旅/島根
旅/愛媛
旅/新潟
旅/東京
旅/栃木
旅/神奈川
旅/秋田
旅/群馬
旅/茨城
旅/長野・山梨
旅/静岡
旅/静岡/伊豆
未整理
食
食/チェコ
食/各国
食/料理
食/激辛
食/蕎麦
食/郷土料理
#topicpath /////////////////////////////////////////////////////////////////////////////// * 目次 [#q8266b3d] #contents(); #ls2(VersionCtl/git/magit/); /////////////////////////////////////////////////////////////////////////////// * 導入方法(v.3.3.0) [#b57277ec] - magit 本体を取得。 -- https://github.com/magit/magit.git - 追加で以下が必要となる。repository の後ろの記載は tag - https://github.com/magnars/dash.el.git 2.19.1 - https://github.com/magit/ghub.git v3.5.6 - https://github.com/magit/git-modes.git 1.4.0 - https://github.com/vermiculus/graphql.el.git 0.1.1 - https://github.com/magit/magit-popup.git v2.13.3 - https://github.com/volrath/treepy.el.git 0.1.2 - https://github.com/magit/with-editor.git v3.2.0 - https://github.com/magit/transient.git v0.3.0 - ${HOME}/.emacs.d/site-lisp/ 配下に手動インストールした場合の設定例。 (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/dash") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/ghub") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/git-modes") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/graphql") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/magit-popup") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/transient/lisp") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/treepy") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/with-editor/lisp") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/magit/lisp") load-path)) (require 'magit) //============================================================================= ** compile [#d79dedfd] - 依存パッケージ(dash, transient, with-editor)へのパス指定が必要。 -- 指定方法 magit/config.mk: LOAD_PATH = -L ~/.emacs.d/site-lisp/magit/lisp LOAD_PATH += -L ~/.emacs.d/site-lisp/dash LOAD_PATH += -L ~/.emacs.d/site-lisp/transient/lisp LOAD_PATH += -L ~/.emacs.d/site-lisp/with-editor --- see also: magit/Documentation/magit.info - graphql -- make を実行するのに、yq (jq の wrapper。[[yqの入手元(GitHub)>https://github.com/kislyuk/yq]])、及び jq が必要になる。 -- jq は debian なら jq パッケージで導入可。 /////////////////////////////////////////////////////////////////////////////// * コマンド [#z1b11beb] |~binding |~command |~description |~remark | | b |magit-branching |ブランチ操作 | | | y |magit-show-refs-popup |ブランチ一覧 | | | C-j |magit-diff-visit-worktree-file | | | | C |magit-commit-add-log | | | | K |magit-file-untrack | | | | R |magit-file-rename | | | | a |magit-apply | | | | s |magit-stage | | | | u |magit-unstage | | | | <C-return> |magit-diff-visit-file-worktree | | | | <remap> |Prefix Command | | | |C-c C-e |magit-diff-edit-hunk-commit | | | |C-c C-t |magit-diff-trace-definition | | | | <remap> <magit-delete-thing> |magit-discard | | | | <remap> <magit-revert-no-commit> |magit-reverse | | | | <remap> <magit-visit-thing> |magit-diff-visit-file | | | |C-x a |magit-add-change-log-entry | | | |C-x 5 <return> |magit-diff-visit-file-other-frame | | | |C-x 4 a |magit-add-change-log-entry-other-window | | | |C-x 4 <return> |magit-diff-visit-file-other-window | | | - 各 pop-up ウインドウを抜ける時は、 "q" → "C-g" へ変更になった。 - 各 pop-up ウインドウ表示中、カーソルキー、ウインドウ間移動(other-window, previous-other-window)は無効化されるようになった。 *** Major Mode Bindings: [#x47a5433] |~binding |~command |~remark | | C-c |Prefix Command | | | TAB |magit-section-toggle | | | RET |magit-visit-thing | | | C-w |magit-copy-section-value | | // | C-x |Prefix Command | | | ESC |Prefix Command | | | SPC |magit-diff-show-or-scroll-up | | | ! |magit-run | | | $ |magit-process-buffer | | | % |magit-worktree | | | + |magit-diff-more-context | | | - |magit-diff-less-context | | | 0 |magit-diff-default-context | | | 1 |magit-section-show-level-1 | | | 2 |magit-section-show-level-2 | | | 3 |magit-section-show-level-3 | | | 4 |magit-section-show-level-4 | | | 5 .. 9 |digit-argument | | | : |magit-git-command | | | < |beginning-of-buffer | | | > |end-of-buffer | | | ? |magit-dispatch | | | A |magit-cherry-pick |git cherry-pic の操作メニューを表示 | | B |magit-bisect | | | D |magit-diff-refresh | | | E |magit-ediff |git diff の操作メニューを表示する | | F |magit-pull |pull の操作メニュー・・・は表示されないが、 &br;''F u'': magit-pull-from-upstream &br;''F p'': magit-pull-from-pushremote &br;''F e'': magit-pull-branch &br;がそれぞれ実行出来る。 | | G |magit-refresh-all | | | H |magit-describe-section|git describe を実行(一番最新の tag からの commit 情報を表示する) | | I |magit-gitignore | | | L |magit-log-refresh | | | M |magit-remote |git remote の操作メニューを表示 | | O |magit-subtree | | | P |magit-push |git push の操作メニューを表示 | | S |magit-stage-modified | | | T |magit-notes | | | U |magit-unstage-all |stage されている全てのファイルを unstage する | | V |magit-revert | | | W |magit-patch | | | X |magit-reset |git reset の操作メニューを表示 | | Y |magit-cherry | | | Z |magit-stash |git stash の操作メニューを表示 | | ^ |magit-section-up | | | b |magit-branch |git branch の操作メニューを表示 | | b b |magit-checkout |任意のブランチを checkout する | | c |magit-commit |git commit の操作メニューを表示 | | d |magit-diff | | | e |magit-ediff-compare | | | f |magit-fetch | | | g |magit-refresh | | | h |magit-dispatch | | | i |magit-gitignore | | | j |magit-status-jump | | | k |magit-delete-thing | | | l |magit-log |git log の操作メニューを表示 | | m |magit-merge | | | n |magit-section-forward | | | o |magit-submodule | | | p |magit-section-backward | | | q |magit-mode-bury-buffer | | | r |magit-rebase | | // | s |magit-stage-file |選択中のファイルを stage する | | t |magit-tag |git tag の操作メニューを表示 | // | u |magit-unstage-file |選択中のファイルを unstage する | | v |magit-revert-no-commit | | | w |magit-am | | | x |magit-reset-quickly | | | y |magit-show-refs |branch 操作の操作メニューを表示。機能としては v.2.1.0 での magit-branch-popup に近い。 | | z |magit-stash |git stash の操作メニューを表示 | | DEL |magit-diff-show-or-scroll-down | | | S-SPC |~| | | <C-tab> |magit-section-cycle | | | <M-tab> |magit-section-cycle-diffs | | | <backtab> |magit-section-cycle-global | | | <remap> |Prefix Command | | | <s-tab> |magit-section-cycle-global | | | <remap> <dired-jump> |magit-dired-jump | | // | j f |Prefix Command | | // | j n |magit-jump-to-untracked | | // | j p |Prefix Command | | // | j s |magit-jump-to-staged | | // | j t |magit-jump-to-tracked | | // | j u |magit-jump-to-unstaged | | // | j z |magit-jump-to-stashes | | | C-c C-c |magit-dispatch | | | C-c C-o |magit-browse-thing | | | C-c C-w |~| | // | C-x 4 |Prefix Command | | // | C-x a |magit-add-change-log-entry | | // | M-RET |magit-dired-jump | | | C-M-i |magit-dired-jump | | | M-w |magit-copy-buffer-revision | | | M-1 |magit-section-show-level-1-all | | | M-2 |magit-section-show-level-2-all | | | M-3 |magit-section-show-level-3-all | | | M-4 |magit-section-show-level-4-all | | | M-n |magit-section-forward-sibling | | | M-p |magit-section-backward-sibling | | // | M-w |magit-copy-buffer-revision | | // | <remap> <evil-next-line> |evil-next-visual-line | | // | <remap> <evil-previous-line> |evil-previous-visual-line | | // | j p p |magit-jump-to-unpushed-to-pushremote | | // | j p u |magit-jump-to-unpushed-to-upstream | | // | j f p |magit-jump-to-unpulled-from-pushremote | | // | j f u |magit-jump-to-unpulled-from-upstream | | // | C-x 4 a |magit-add-change-log-entry-other-window | | //============================================================================= ** diff [#ue374e66] - リポジトリと差分のあるファイルのファイル名の上で "e" を type すると、emacs の ediff を利用した差分編集画面が起動する。 - この diff の画面は、ある時期に 2ペインから3ペインに変更されているが、これは "e" に割り当てられた関数が変更されたため。 |~画面 |~関数 | |2ペイン |magit-ediff-compare | |3ペイン |magit-ediff-dwim | - 最新の magit で、差分編集を以前の2ペインにしたい場合は、magit を読み込んだあとの方で、以下を記述する (define-key magit-mode-map "e" 'magit-ediff-compare) -- これで、若干面倒ではあるが(その代わり比較対象をどのブランチにするかなど、手動で都度選べるようにもなる)、2ペインの diff が使えるようになる。 -- 但し、conflict 解決の場合に magit-diff-compare を起動すると、(マージや rebase による)conflict 前後の比較ではなく、conflict した結果と現在の HEAD との比較となってしまう。この場合には magit-ediff-dwim を起動するようにする。~ → ''"e"'' と ''"E"'' で両者を使い分けると良いだろう。 /////////////////////////////////////////////////////////////////////////////// * ユースケース [#sd7c349b] //============================================================================= ** 部分ステージング&コミット [#b6c3358e] + M-x: magit-status を実行 + ''Unstaged changes'' にリストされているファイルの内、部分ステージング&コミットしたいファイルにカーソルを置き、 [Tab] 押し → 差分が展開される + 部分ステージング&コミットしたい差分のところにカーソル移動(p/n で Jump する)し、s 押し。 + magit 上での通常の commit 操作と同じ c, c, C-c で commit される。 /////////////////////////////////////////////////////////////////////////////// * 設定 [#t4e268a1] //============================================================================= ** log の日付表示設定 [#e3250a81] - magit-log では、"1 week", "2 years" などと大まかな時期での表示となっており、日時での確認が出来ない。 - 日時での表示に切り替えるには、${HOME}/.emacs.d/init.el 等で以下を設定する: (eval-after-load "magit-log" '(progn (custom-set-variables '(magit-log-margin '(t "%Y-%m-%d %H:%M:%S " magit-log-margin-width t 18))))) - 上記でフォーマット文字列の最後に空白文字を入れているのは、表示される文字と表示領域の境界との間を少し間を空けたかった為。 //============================================================================= ** log の commit ID の表示色の設定 [#j1e8b433] - default では暗目のグレーになっており、黒背景の場合には非常に見難い。そのような環境で使用する場合には以下のように変更する: (custom-set-faces '(magit-hash ((t (:foreground "white")))) ; log の commit ID 文字色 ;'(magit-section-highlight ((t (:background "blue")))) ; highlight ) //----------------------------------------------------------------------------- *** 参考リンク [#o9c300fd] - [[magitのログを、コミット時期ではなくコミット時刻で表示したい>https://qiita.com/hiroxy/items/5d2146b8a1a84a454e55]]
#topicpath /////////////////////////////////////////////////////////////////////////////// * 目次 [#q8266b3d] #contents(); #ls2(VersionCtl/git/magit/); /////////////////////////////////////////////////////////////////////////////// * 導入方法(v.3.3.0) [#b57277ec] - magit 本体を取得。 -- https://github.com/magit/magit.git - 追加で以下が必要となる。repository の後ろの記載は tag - https://github.com/magnars/dash.el.git 2.19.1 - https://github.com/magit/ghub.git v3.5.6 - https://github.com/magit/git-modes.git 1.4.0 - https://github.com/vermiculus/graphql.el.git 0.1.1 - https://github.com/magit/magit-popup.git v2.13.3 - https://github.com/volrath/treepy.el.git 0.1.2 - https://github.com/magit/with-editor.git v3.2.0 - https://github.com/magit/transient.git v0.3.0 - ${HOME}/.emacs.d/site-lisp/ 配下に手動インストールした場合の設定例。 (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/dash") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/ghub") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/git-modes") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/graphql") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/magit-popup") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/transient/lisp") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/treepy") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/with-editor/lisp") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/magit/lisp") load-path)) (require 'magit) //============================================================================= ** compile [#d79dedfd] - 依存パッケージ(dash, transient, with-editor)へのパス指定が必要。 -- 指定方法 magit/config.mk: LOAD_PATH = -L ~/.emacs.d/site-lisp/magit/lisp LOAD_PATH += -L ~/.emacs.d/site-lisp/dash LOAD_PATH += -L ~/.emacs.d/site-lisp/transient/lisp LOAD_PATH += -L ~/.emacs.d/site-lisp/with-editor --- see also: magit/Documentation/magit.info - graphql -- make を実行するのに、yq (jq の wrapper。[[yqの入手元(GitHub)>https://github.com/kislyuk/yq]])、及び jq が必要になる。 -- jq は debian なら jq パッケージで導入可。 /////////////////////////////////////////////////////////////////////////////// * コマンド [#z1b11beb] |~binding |~command |~description |~remark | | b |magit-branching |ブランチ操作 | | | y |magit-show-refs-popup |ブランチ一覧 | | | C-j |magit-diff-visit-worktree-file | | | | C |magit-commit-add-log | | | | K |magit-file-untrack | | | | R |magit-file-rename | | | | a |magit-apply | | | | s |magit-stage | | | | u |magit-unstage | | | | <C-return> |magit-diff-visit-file-worktree | | | | <remap> |Prefix Command | | | |C-c C-e |magit-diff-edit-hunk-commit | | | |C-c C-t |magit-diff-trace-definition | | | | <remap> <magit-delete-thing> |magit-discard | | | | <remap> <magit-revert-no-commit> |magit-reverse | | | | <remap> <magit-visit-thing> |magit-diff-visit-file | | | |C-x a |magit-add-change-log-entry | | | |C-x 5 <return> |magit-diff-visit-file-other-frame | | | |C-x 4 a |magit-add-change-log-entry-other-window | | | |C-x 4 <return> |magit-diff-visit-file-other-window | | | - 各 pop-up ウインドウを抜ける時は、 "q" → "C-g" へ変更になった。 - 各 pop-up ウインドウ表示中、カーソルキー、ウインドウ間移動(other-window, previous-other-window)は無効化されるようになった。 *** Major Mode Bindings: [#x47a5433] |~binding |~command |~remark | | C-c |Prefix Command | | | TAB |magit-section-toggle | | | RET |magit-visit-thing | | | C-w |magit-copy-section-value | | // | C-x |Prefix Command | | | ESC |Prefix Command | | | SPC |magit-diff-show-or-scroll-up | | | ! |magit-run | | | $ |magit-process-buffer | | | % |magit-worktree | | | + |magit-diff-more-context | | | - |magit-diff-less-context | | | 0 |magit-diff-default-context | | | 1 |magit-section-show-level-1 | | | 2 |magit-section-show-level-2 | | | 3 |magit-section-show-level-3 | | | 4 |magit-section-show-level-4 | | | 5 .. 9 |digit-argument | | | : |magit-git-command | | | < |beginning-of-buffer | | | > |end-of-buffer | | | ? |magit-dispatch | | | A |magit-cherry-pick |git cherry-pic の操作メニューを表示 | | B |magit-bisect | | | D |magit-diff-refresh | | | E |magit-ediff |git diff の操作メニューを表示する | | F |magit-pull |pull の操作メニュー・・・は表示されないが、 &br;''F u'': magit-pull-from-upstream &br;''F p'': magit-pull-from-pushremote &br;''F e'': magit-pull-branch &br;がそれぞれ実行出来る。 | | G |magit-refresh-all | | | H |magit-describe-section|git describe を実行(一番最新の tag からの commit 情報を表示する) | | I |magit-gitignore | | | L |magit-log-refresh | | | M |magit-remote |git remote の操作メニューを表示 | | O |magit-subtree | | | P |magit-push |git push の操作メニューを表示 | | S |magit-stage-modified | | | T |magit-notes | | | U |magit-unstage-all |stage されている全てのファイルを unstage する | | V |magit-revert | | | W |magit-patch | | | X |magit-reset |git reset の操作メニューを表示 | | Y |magit-cherry | | | Z |magit-stash |git stash の操作メニューを表示 | | ^ |magit-section-up | | | b |magit-branch |git branch の操作メニューを表示 | | b b |magit-checkout |任意のブランチを checkout する | | c |magit-commit |git commit の操作メニューを表示 | | d |magit-diff | | | e |magit-ediff-compare | | | f |magit-fetch | | | g |magit-refresh | | | h |magit-dispatch | | | i |magit-gitignore | | | j |magit-status-jump | | | k |magit-delete-thing | | | l |magit-log |git log の操作メニューを表示 | | m |magit-merge | | | n |magit-section-forward | | | o |magit-submodule | | | p |magit-section-backward | | | q |magit-mode-bury-buffer | | | r |magit-rebase | | // | s |magit-stage-file |選択中のファイルを stage する | | t |magit-tag |git tag の操作メニューを表示 | // | u |magit-unstage-file |選択中のファイルを unstage する | | v |magit-revert-no-commit | | | w |magit-am | | | x |magit-reset-quickly | | | y |magit-show-refs |branch 操作の操作メニューを表示。機能としては v.2.1.0 での magit-branch-popup に近い。 | | z |magit-stash |git stash の操作メニューを表示 | | DEL |magit-diff-show-or-scroll-down | | | S-SPC |~| | | <C-tab> |magit-section-cycle | | | <M-tab> |magit-section-cycle-diffs | | | <backtab> |magit-section-cycle-global | | | <remap> |Prefix Command | | | <s-tab> |magit-section-cycle-global | | | <remap> <dired-jump> |magit-dired-jump | | // | j f |Prefix Command | | // | j n |magit-jump-to-untracked | | // | j p |Prefix Command | | // | j s |magit-jump-to-staged | | // | j t |magit-jump-to-tracked | | // | j u |magit-jump-to-unstaged | | // | j z |magit-jump-to-stashes | | | C-c C-c |magit-dispatch | | | C-c C-o |magit-browse-thing | | | C-c C-w |~| | // | C-x 4 |Prefix Command | | // | C-x a |magit-add-change-log-entry | | // | M-RET |magit-dired-jump | | | C-M-i |magit-dired-jump | | | M-w |magit-copy-buffer-revision | | | M-1 |magit-section-show-level-1-all | | | M-2 |magit-section-show-level-2-all | | | M-3 |magit-section-show-level-3-all | | | M-4 |magit-section-show-level-4-all | | | M-n |magit-section-forward-sibling | | | M-p |magit-section-backward-sibling | | // | M-w |magit-copy-buffer-revision | | // | <remap> <evil-next-line> |evil-next-visual-line | | // | <remap> <evil-previous-line> |evil-previous-visual-line | | // | j p p |magit-jump-to-unpushed-to-pushremote | | // | j p u |magit-jump-to-unpushed-to-upstream | | // | j f p |magit-jump-to-unpulled-from-pushremote | | // | j f u |magit-jump-to-unpulled-from-upstream | | // | C-x 4 a |magit-add-change-log-entry-other-window | | //============================================================================= ** diff [#ue374e66] - リポジトリと差分のあるファイルのファイル名の上で "e" を type すると、emacs の ediff を利用した差分編集画面が起動する。 - この diff の画面は、ある時期に 2ペインから3ペインに変更されているが、これは "e" に割り当てられた関数が変更されたため。 |~画面 |~関数 | |2ペイン |magit-ediff-compare | |3ペイン |magit-ediff-dwim | - 最新の magit で、差分編集を以前の2ペインにしたい場合は、magit を読み込んだあとの方で、以下を記述する (define-key magit-mode-map "e" 'magit-ediff-compare) -- これで、若干面倒ではあるが(その代わり比較対象をどのブランチにするかなど、手動で都度選べるようにもなる)、2ペインの diff が使えるようになる。 -- 但し、conflict 解決の場合に magit-diff-compare を起動すると、(マージや rebase による)conflict 前後の比較ではなく、conflict した結果と現在の HEAD との比較となってしまう。この場合には magit-ediff-dwim を起動するようにする。~ → ''"e"'' と ''"E"'' で両者を使い分けると良いだろう。 /////////////////////////////////////////////////////////////////////////////// * ユースケース [#sd7c349b] //============================================================================= ** 部分ステージング&コミット [#b6c3358e] + M-x: magit-status を実行 + ''Unstaged changes'' にリストされているファイルの内、部分ステージング&コミットしたいファイルにカーソルを置き、 [Tab] 押し → 差分が展開される + 部分ステージング&コミットしたい差分のところにカーソル移動(p/n で Jump する)し、s 押し。 + magit 上での通常の commit 操作と同じ c, c, C-c で commit される。 /////////////////////////////////////////////////////////////////////////////// * 設定 [#t4e268a1] //============================================================================= ** log の日付表示設定 [#e3250a81] - magit-log では、"1 week", "2 years" などと大まかな時期での表示となっており、日時での確認が出来ない。 - 日時での表示に切り替えるには、${HOME}/.emacs.d/init.el 等で以下を設定する: (eval-after-load "magit-log" '(progn (custom-set-variables '(magit-log-margin '(t "%Y-%m-%d %H:%M:%S " magit-log-margin-width t 18))))) - 上記でフォーマット文字列の最後に空白文字を入れているのは、表示される文字と表示領域の境界との間を少し間を空けたかった為。 //============================================================================= ** log の commit ID の表示色の設定 [#j1e8b433] - default では暗目のグレーになっており、黒背景の場合には非常に見難い。そのような環境で使用する場合には以下のように変更する: (custom-set-faces '(magit-hash ((t (:foreground "white")))) ; log の commit ID 文字色 ;'(magit-section-highlight ((t (:background "blue")))) ; highlight ) //----------------------------------------------------------------------------- *** 参考リンク [#o9c300fd] - [[magitのログを、コミット時期ではなくコミット時刻で表示したい>https://qiita.com/hiroxy/items/5d2146b8a1a84a454e55]]
テキスト整形のルールを表示する