0

考虑magit仅使用两个推荐的键绑定调整开始的会话。

(global-set-key (kbd "C-x g") 'magit-status)
(global-set-key (kbd "C-x M-g") 'magit-dispatch)

现在假设在这个会话中我只是在阅读一个存储库,没有更改/阶段/提交序列。现在我达到了file.c

// a: This line existed in commit A.
// a: This line existed in commit A.
// b: This is a new line added in commit B.
// b: This is a new line added in commit B.

为了了解每次提交都做了什么,我git checkout逐步进行。

在 commit 时B,我想在上下文中看到这两行(上面的 b )是新插入的,可能是通过突出显示的背景或边距指示器。

是否可以查看上下文中的变化magit,或者是git diff最好的?

没有magit diff-hl-flydiff已经可以显示当前文件与 repo 的不同之处。我在这里询问是否可以在一系列中查看更改,git checkout是否可以diff-hl-flydiff与.magitmagit

4

1 回答 1

2

什么都不需要git checkout

我建议使用eto invokemagit-ediff-dwim您感兴趣的提交(或Ecto invoke magit-ediff-show-commit)。如果提交涉及多个文件,它将提示您(完成)该文件进行比较。然后它会跳转到 ediff,您可以在其中仔细阅读上下文中该提交差异的更改。

如果您只查看一个文件的日志,使用C-cM-gl(或M-x magit-log-buffer-file) 那么 Magit 将假定您想要 ediff 同一个文件,并且不会提示您。

要学习如何使用 ediff:C-hig (ediff)

于 2020-03-17T06:05:08.210 回答