我犯了一个错误,将 Visual Studio 项目从 2008 年升级到 2010 年,而没有先检查我以前的更改。因此,我有一个巨大的系统生成文件(10k+ 行),每 4 行就更改一次。
我通常很擅长经常检查东西,所以我通常只会使用向下键来滚动浏览我的更改。在这种情况下,滚动浏览系统生成文件的更改将需要几个生命周期。
有没有办法在你完成之后跳到下一个修改过的文件,git diff
这样你就不必滚动浏览每个文件的每一个更改?
我犯了一个错误,将 Visual Studio 项目从 2008 年升级到 2010 年,而没有先检查我以前的更改。因此,我有一个巨大的系统生成文件(10k+ 行),每 4 行就更改一次。
我通常很擅长经常检查东西,所以我通常只会使用向下键来滚动浏览我的更改。在这种情况下,滚动浏览系统生成文件的更改将需要几个生命周期。
有没有办法在你完成之后跳到下一个修改过的文件,git diff
这样你就不必滚动浏览每个文件的每一个更改?
默认情况下,git diff
它的输出通过less
. 因此,您可以使用less
命令来搜索下一个标题。键入/^diff
并按下Enter以跳到下一个文件。
在 中时git diff
,只需点击n即可直接进入下一个文件,然后再次进入下一个文件,依此类推。
您也可以使用N返回文件。
(要使这些命令起作用,您需要先键入/^diff
并按Enter,如本答案中所述。)
对于其他有用的命令,请键入h
寻求帮助(在 中git diff
,即在 中less
)。
尤其:
JUMPING
g < ESC-< * Go to first line in file (or line N).
G > ESC-> * Go to last line in file (or line N).
p % * Go to beginning of file (or N percent into file).
t * Go to the (N-th) next tag.
T * Go to the (N-th) previous tag.
{ ( [ * Find close bracket } ) ].
} ) ] * Find open bracket { ( [.
ESC-^F <c1> <c2> * Find close bracket <c2>.
ESC-^B <c1> <c2> * Find open bracket <c1>
我建议你使用tig
. 这是一个诅咒界面git
,而且是一个非常好的界面。
您可以查看索引状态,并且通过tig status
按下Enter任何文件,您会看到它的差异。h向您显示帮助菜单,但它是基于 vi 快捷方式的界面。
我认为在任何基于 debian 的发行版中,您都可以apt-get install
使用它,或者您可以从链接的站点制作它。
另一种选择是调用update-index
命令并告诉它假装一个巨大的文件没有改变。这里有一个更完整的例子。
我想你想要:
:n * Examine the (N-th) next file from the command line.
请在 的帮助中查看此内容less
。
CHANGING FILES
:e [file] Examine a new file.
^X^V Same as :e.
:n * Examine the (N-th) next file from the command line.
:p * Examine the (N-th) previous file from the command line.
:x * Examine the first (or N-th) file from the command line.
:d Delete the current file from the command line list.
= ^G :f Print current file name.