git log不是从Mac终端的第一行开始的

时间:2016-01-22 12:35:43

标签: git macos

我正在Mac终端窗口中执行以下命令:

git log --pretty=format:'%s'

问题是当输出中有提交时,其主题/标题足够长,所以它被终端包裹在几行中,输出的第一页不是从第一行输出开始的(最多最近的提交),但列表向下滚动了很多行我有多少次换行。这迫使我的鼠标总是向上滚动以查看输出的头部,这是非常不切实际的。

以下是我不太清楚的例子。当我执行上面的命令时,输出应该是这样的:

# a commit with a veryyyyy looooon title blah blah blah whi
ch wraps into a new line
# third commit with a veryyyyy looooon title blah blah blah which al
so wraps into a second line
# 1st commit with a title of a normal length that I see
# 2nd a commit with a title of a normal length
# 3rd a commit with a title of a normal length
# 4th commit with a title of a normal length
# fourth commit with a veryyyyy looooon title blah blah blah which a
lso wraps into a new line
# 5th commit with a title of a normal length
# 6th commit with a title of a normal length
# one more commit with a veryyyyy looooon title blah blah blah whi
ch also wraps into a new line
# 7th commit with a title of a normal length
# 8th commit with a title of a normal length
...
# 49th commit with a title of a normal length
# 50th commit with a title of a normal length
:

注意:在我的终端窗口不是很宽的情况下,期望输出可以被包装是正常的,它应该等待我滚动到下一行,因为有更多的提交而不是它可以适应终端窗口高度。

然而,这不是我在终端窗口看到的。我在输出中看到的第一个提交是标题为“#1st commit with a title length”。前2个提交不在视图中,因为它们跨越4行,并且我在输出中共有4个提交,包含在2行中。 如果我想在输出中看到真正的第一次提交(“#a commit with a veryyyyy looooon ......”),我必须抓住鼠标并向上滚动几行。

顺便说一下,这与--pretty = format switch无关,因为普通的“git log”会发生类似的行为。我只是使用了相当格式化的输出来简化问题的说明。

我不知道这是git格式化问题还是终端问题。 有人可以建议一个解决方案。

干杯!

SOLUTION:

使用-c'core.pager = less -SFR'开关运行任何git命令,就像在我的示例中一样:

git -c 'core.pager=less -SFR' log --pretty=format:'%s'

1 个答案:

答案 0 :(得分:2)

每当遇到线路输出问题时,您都可以尝试使用less的一些寻呼机选项。

快速试验的一种方法是为当前的git命令设置该选项,使用" git -c":

git -c 'core.pager=less -SFR' log...

如果这样可行,您可以将其设置为当前仓库

git config core.pager 'less -SFR'

或所有回购:

git config --global core.pager 'less -SFR'