寻找一个选项/解决方法来限制任何特定文件的差异内容(如底部面板所示((例如,仅前 N 行(,因为补丁/差异可能太大并导致 GUI 冻结。我确实尝试了git diff
接受的不同选项,但没有看到任何将它们传递给gitk
的方法(与git-gui
不同(。请注意,限制上下文行数不起作用,因为差异仍将以零上下文显示。
你必须改变 gitk 的源代码。这是一个大的Tcl/Tk文件,您可以直接编辑或复制。它的位置可能取决于您的操作系统。如果您使用的是 linux 或 macos,则可能是/usr/bin/gitk
或/usr/local/bin/gitk
.
在过程diffcmd
中,更改此行:
set cmd [concat | git diff-tree -r $flags $ids]
您可以添加diff-tree
参数,或者只是将 diff 输出通过管道传输到另一个程序,例如head
:
set cmd [concat | git diff-tree -r $flags $ids | head -n500]
这适用于完整的差异,而不仅仅是一个文件。