Git 如何列出所有有更改的行,以便使用emacs在更改之间轻松导航?

Git 如何列出所有有更改的行,以便使用emacs在更改之间轻松导航?,git,emacs,git-diff,git-log,Git,Emacs,Git Diff,Git Log,我希望git显示在两次特定提交之间更改的所有行,包括每行的文件名和行号。我认为输出类似于 file.cpp:20:- void deletedFunction() file.cpp:20:+ int addedFunction() Makefile:3:-# removed comment 我希望通过编译模式的next error命令,使用它可以轻松地浏览emacs提交的所有更改。因此,第二个:之后的确切输出看起来可能不同,但是文件名:行:…应该在那里。此外,并非所有的更改都必须列出——仅添加

我希望
git
显示在两次特定提交之间更改的所有行,包括每行的文件名和行号。我认为输出类似于

file.cpp:20:- void deletedFunction()
file.cpp:20:+ int addedFunction()
Makefile:3:-# removed comment

我希望通过编译模式的
next error
命令,使用它可以轻松地浏览emacs提交的所有更改。因此,第二个
之后的确切输出看起来可能不同,但是
文件名:行:…
应该在那里。此外,并非所有的更改都必须列出——仅添加或仅删除也可以作为开始

很高兴看到我的评论解决了你的问题:) 我说, «我想知道(强制性问题):你对magit不满意吗?为什么?您可以查看差异、导航并点击以转到文件和行nb。我觉得不错

Magit手册就住在这里: github上的代码:

完整介绍:

(与往常一样,ELPA也提供此功能:
M-x列表包

享受吧

ps:我使用的两种配置:

; use ido to switch branches
; https://github.com/bradleywright/emacs-d/blob/master/packages/init-magit.el
(setq magit-completing-read-function 'magit-ido-completing-read)
;; open magit status in same window as current buffer
;; (setq magit-status-buffer-switch-function 'switch-to-buffer)
;; highlight word/letter changes in hunk diffs
(setq magit-diff-refine-hunk t)

很高兴看到我的评论解决了你的问题:) 我说, «我想知道(强制性问题):你对magit不满意吗?为什么?您可以查看差异、导航并点击以转到文件和行nb。我觉得不错

Magit手册就住在这里: github上的代码:

完整介绍:

(与往常一样,ELPA也提供此功能:
M-x列表包

享受吧

ps:我使用的两种配置:

; use ido to switch branches
; https://github.com/bradleywright/emacs-d/blob/master/packages/init-magit.el
(setq magit-completing-read-function 'magit-ido-completing-read)
;; open magit status in same window as current buffer
;; (setq magit-status-buffer-switch-function 'switch-to-buffer)
;; highlight word/letter changes in hunk diffs
(setq magit-diff-refine-hunk t)

我从未使用过
magit
(虽然我听说过一些好东西),也很少使用
git
(我是
hg
的家伙),但所有这些都应该适用于支持
vc
模式的VCS

它不像
编译模式
,但您可以使用
diff模式
轻松地在diff中导航

要获取差异缓冲区,请执行以下操作:

  • C-xv=
    对当前文件进行差异化处理
  • C-xvd
    对目录执行递归差异
  • C-x v d
    会将repo中所有修改/添加/未跟踪的/etc.文件带到缓冲区。您可以使用
    m
    选择它们,并使用
    =
    区分所选文件
在差异缓冲区中:

  • n
    转到下一个帅哥
  • p
    转到上一个帅哥
  • N
    转到下一个文件
  • P
    转到上一个文件
  • o
    转到当前帅哥的源文件

我从未使用过
magit
(虽然我听说过一些好东西),我也很少使用
git
(我是
hg
的家伙),但所有这些都应该适用于支持
vc
模式的VCS

它不像
编译模式
,但您可以使用
diff模式
轻松地在diff中导航

要获取差异缓冲区,请执行以下操作:

  • C-xv=
    对当前文件进行差异化处理
  • C-xvd
    对目录执行递归差异
  • C-x v d
    会将repo中所有修改/添加/未跟踪的/etc.文件带到缓冲区。您可以使用
    m
    选择它们,并使用
    =
    区分所选文件
在差异缓冲区中:

  • n
    转到下一个帅哥
  • p
    转到上一个帅哥
  • N
    转到下一个文件
  • P
    转到上一个文件
  • o
    转到当前帅哥的源文件

注意git排水沟:。
它为您提供:
git-ground:next-hunk
git-ground:previous-hunk
。它与magit的结合提供了一个很好的体验。

注意git。
它为您提供:
git-ground:next-hunk
git-ground:previous-hunk
。它与
magit
的结合提供了良好的体验。

我想知道(强制性问题):你对
magit
不满意吗,为什么?您可以查看差异、导航并点击以转到文件和行nb。我觉得不错。@Ehvince耶!我不知道‘magit
。我认为
VCGit`是首选的工具。我会尝试一下(oops:
install/magit:ignoreing unsupported flavor emacs24
,该死。但我想我可以解决这个问题)。你可以让你评论一个答案。我想知道(强制性问题):你对
magit
不满意吗?为什么?您可以查看差异、导航并点击以转到文件和行nb。我觉得不错。@Ehvince耶!我不知道‘magit
。我认为
VCGit`是首选的工具。我会尝试一下(oops:
install/magit:ignoreing unsupported flavor emacs24
,该死。但我想我可以解决这个问题)。您可以让自己对答案进行评论。
magit
有效(通过milkbox安装软件包)。只有使用“查看差异,导航”时,我始终必须返回到
*magit diff*
缓冲区。像
next error
这样的键绑定在任何缓冲区中都很有用。也许我可以用kbd宏来实现这一点。事实上,用宏是很容易的。您可以将其保存为函数并将其绑定到任何键。尽管如此,我还是不明白你的工作流程,但没问题。Magit允许查看缓冲区中的所有修改(使用TAB开发/隐藏更改,使用1、2或3选择视图的详细信息)。对我来说,复习和编辑是两项不同的任务,你似乎想同时完成这两项任务。我说得对吗?是的,我处于编辑模式:进行此特定更改的开发人员在80%的更改中忘记了一些东西。我现在使用
*magit diff*
工作:我呆在diff缓冲区中查看更改,并使用宏修复光标所在的更改。可爱。
magit
works(通过milkbox安装软件包)。只有使用“查看差异,导航”时,我始终必须返回到
*magit diff*
缓冲区。类似
next错误的键绑定