基本使用
查看状态
Untracked files
s 将该文件加入 unStage files 列表即 unstage 区,相当于命令行上的 git add [filename]。 x 忽略该文件修改。 TAB 查看 diff q 返回
Unstaged files
u 撤销,即将该文件撤回到 Untracked 区。 TAB 查看 diff q 返回
Commit
c c 可将 Unstaged files 中的文件提交到 commit 区 其他操作待续。。
时光机 timemachne
注意该功能无法在 unTracked file 中使用 SPC g t 进入时光机 n 向后一个版本 p 向前一个版本 Y 拷贝当前版本的 git hash 值 q 退出
blame
SPC g b 进入, 可以查看当前文件的每一次提交记录的信息。
分支
- SPC g s b b –> checkout branch
让单个文件回到某个版本
先用 SPC g t 启动 git-timemachine 找到正确的版本,然后按 Y 复制 hash 值,最后 checkout 出来 注意: 这个命令不在 SPC g 的快捷键组里面,之前有些教程里的 # 键现在也取消了。
M-x magit-checkout-file |
提交部分修改
按 v 选中想提交的行,然后可以:
- 按 s stage 所选区域.
- 按 u 可以 unstage 所选区域.
- 按 x 可以 discard 所选区域.
这对于修改大文件或者改动多的文件时【特别有用】。
删除多个分支
- SPC g s 启动 magit 状态
- ? 号调出菜单,按 y 列出所有分支和 tag (或直接按 y, 然后选择 magit-show-refs-popup)
- v 选中想要删除的分支,按 x 确认删除,很 cool !
rebase
- SPC g s 启动状态栏以后,按 r e 调出 rebase 哪个分支, 更多文档
Squashing Commits
调出历史记录,然后 按 r i 进入交互式界面 注意 squash 是在当前行向上合并 squash 以后如果想要取消(squash 会新建一个 rebase 分支之类的 buffer, 退出 magit 以后进来还是会有),在弹出的 buffer 按 r 即可出现熟悉的 rebase skip/continue/abort 等,取消就用 r a 即可。