使用magit查看上下文中的更改
考虑仅通过两次键绑定调整启动的使用magit查看上下文中的更改,git,emacs,magit,Git,Emacs,Magit,考虑仅通过两次键绑定调整启动的magit会话 (global-set-key (kbd "C-x g") 'magit-status) (global-set-key (kbd "C-x M-g") 'magit-dispatch) 现在假设在这个会话中,我只是在仔细阅读一个存储库,没有更改/阶段/提交序列。现在我看到一个文件.c // a: This line existed in commit A. // a: This line existed in commit A. // b: Th
magit
会话
(global-set-key (kbd "C-x g") 'magit-status)
(global-set-key (kbd "C-x M-g") 'magit-dispatch)
现在假设在这个会话中,我只是在仔细阅读一个存储库,没有更改/阶段/提交序列。现在我看到一个文件.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签出
在提交B
时,我希望在上下文中看到这两行(上面的B)是新插入的,可能是通过突出显示的背景或边距指示器插入的
是否可以使用magit
查看上下文中的更改,或者git diff
是最好的方法
如果没有magit
,则可以显示当前文件与repo之间的差异。我在这里询问是否可以在一系列的git签出过程中查看更改,使用diff-hl-flydiff
是否可以与magit
很好地共存,或者不使用magit
,是否内置了git签出
任何东西
我建议对您感兴趣的提交使用e调用magit-ediff-dwim
(或者使用Ec调用magit-ediff-show-commit
)。如果提交涉及多个文件,它将提示您(完成)将文件提交到diff。然后它将跳转到ediff,您可以在上下文中仔细阅读该提交diff的更改
如果您仅使用C-cM-gl(或M-xmagit日志缓冲文件
)查看一个文件的日志,则magit将假定您要对同一文件进行ediff,并且不会提示您
要了解如何使用ediff:C-hig(ediff)
无需git checkout
任何东西
我建议对您感兴趣的提交使用e调用magit-ediff-dwim
(或者使用Ec调用magit-ediff-show-commit
)。如果提交涉及多个文件,它将提示您(完成)将文件提交到diff。然后它将跳转到ediff,您可以在上下文中仔细阅读该提交diff的更改
如果您仅使用C-cM-gl(或M-xmagit日志缓冲文件
)查看一个文件的日志,则magit将假定您要对同一文件进行ediff,并且不会提示您
要了解如何使用ediff:C-hig(ediff)
Nice。也许唯一需要注意的是,如果您向观众展示您的更改,其中一个区块很大,但您想动态地讨论其中的元素,那么您必须仔细调整您所在区域的颜色,以便它们在ediff的颜色之上保持可见(可能在通过投影仪之后),并脱离ediff上下文(由M-)讨论块的子集,然后返回继续。很好。可能唯一的问题是,如果您正在向观众展示您的更改,并且一个块很大,但您希望动态讨论其中的元素,您必须仔细调整区域的颜色,以便它们保持可见(可能在经过投影仪之后)在ediff的颜色之上,以及走出ediff上下文(通过M-)讨论块的子集,然后返回继续。