Dan*_*Dan 51 emacs git-diff magit
假设我在git仓库中对未耦合的文件进行了一些无关的更改.我想分别查看和提交每个文件.
我运行magit-status,并获得已更改文件的列表.但是我能找到的唯一的magit diff命令(d并且D)可以区分整个修改,而不是单个文件.
我想要输出git diff <filename>,但在magit diff缓冲区.我如何让magit只传出一个文件?
phi*_*ils 90
Magit使您可以直接从magit-status缓冲区"单独查看和提交每个文件" ,而无需任何单独的差异缓冲区.
你只需要扩展你感兴趣的文件(用TAB,它会显示文件的差异点); 那么你可以将你想要提交的部分(整个文件,或者单个的黑客,甚至是一个标记的区域)与s阶段(或者u不显示)进行分段.重复该提交中涉及的所有更改,并且一旦完成所有必要的操作,请按c开始提交.
您可能更喜欢使用(重复)获得的可见性循环行为,C-TAB而不是默认使用的简单切换TAB.
如果你真的想在一个单独的缓冲区中查看文件的diff,你可以magit-diff-buffer-file直接调用文件的缓冲区,或者使用"diff"选项(d)magit-file-popup.例如:
(global-set-key (kbd "C-c m d") 'magit-diff-buffer-file)
(global-set-key (kbd "C-c m f") 'magit-file-popup)
Run Code Online (Sandbox Code Playgroud)
另请注意@ assem的评论如下:
您可能还会对默认情况下
magit-ediff绑定的内容感兴趣e,并在点处打开diff/file的ediff会话.
默认情况下,Emacs中提供的其他一些替代方案(即不是Magit)是:
vc-diffvc-ediff 对于ediff等价物ediff-revision 创建一个包含更多选项的ediff会话我绑定vc-ediff到C-xvC-=这两个变体有类似的键绑定.
| 归档时间: |
|
| 查看次数: |
11797 次 |
| 最近记录: |