假设我对git代码库中的未耦合文件做了一些不相关的更改。我想分别查看并提交每个文件。
我运行magit-status,并获得已更改文件的列表。但是我能找到的唯一的magit diff命令(d和D)可以区分整个修订版,而不是单个文件。
我想要git diff <filename>的输出,但是在magit diff缓冲区中。怎样才能让magit只比较一个文件呢?
发布于 2016-11-29 12:14:51
在使用工具时,不背道而驰绝对有好处,正如其他答案所例证的那样。
另一方面,有时你只是想告诉你的编辑该做什么,让互联网上的人回答你的问题,而不是告诉你想做其他事情。
magit提供了一个菜单界面,用于通过M-x magit-file-popup对当前文件执行操作。你需要从这里按下的键是"du“。这对您来说可能太多了,如果是这样的话,您可以像这样直接调用magit-diff:
(defun magit-diff-given-file (&optional file)
(interactive)
(unless file
(setf file buffer-file-name))
(magit-diff-working-tree "HEAD" nil (list (file-relative-name file (magit-toplevel file)))))您可能希望为此定义自己的函数和键绑定。
与vc-diff相比,magit-diff具有优势,因为if允许您跳转到diff的位置。
https://stackoverflow.com/questions/17798109
复制相似问题