当我使用git branch命令列出所有分支时,我看到git branch | less的输出。
命令git分支应该显示一个分支列表,就像ls显示文件一样。
这是我得到的输出:
我如何得到git分支的默认行为?是什么导致了分页输出?
我的.gitconfig是这样的:
[user]
email = myemail@mail.com
name = Dennis H.
[push]
default = simple
[merge]
tool = vimdiff
[core]
editor = nvim
excludesfile = /Users/dennish/.gitignore_global
[color]
ui = true
[alias]
br = branch
ci = commit -v
cam = commit -am
co = checkout
df = diff
st = status
sa = stash
mt = mergetool
cp = cherry-pick
pl = pull --rebase
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh
\"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
正如其他回答指出的那样,对于大多数命令,Git默认将自己输送到分页器(默认情况下较少)。
但是,重要的一点是,当LESS环境变量未设置时,Git将其设置为FRX,其结果是用户可见的行为与当命令的输出很短时(即如果您只有几个分支)不使用寻呼机时相同。少见人:
-F或——quit-if-one-screen
如果整个文件可以显示在第一个屏幕上,则导致less自动退出。
-R或——RAW-CONTROL-CHARS
[…ANSI“颜色”转义序列以“原始”形式输出。
-X或——no-init
禁止将termcap初始化和反初始化字符串发送到终端。这有时是可取的,如果
去初始化字符串会做一些不必要的事情,比如清除
屏幕上。
如果您得到您所描述的行为,您很可能将$LESS设置为其他内容,并且取消设置它(取消设置LESS)将消除该问题,同时保持“寻呼机”行为用于长输出。或者,你也可以在保持$LESS不变的情况下激活for行为,在你的.gitconfig文件中添加:
[core]
pager = less -FRX
如果您真的不喜欢寻呼机,您可以在全局或每个命令的基础上禁用它(参见其他答案)。
正如其他回答指出的那样,对于大多数命令,Git默认将自己输送到分页器(默认情况下较少)。
但是,重要的一点是,当LESS环境变量未设置时,Git将其设置为FRX,其结果是用户可见的行为与当命令的输出很短时(即如果您只有几个分支)不使用寻呼机时相同。少见人:
-F或——quit-if-one-screen
如果整个文件可以显示在第一个屏幕上,则导致less自动退出。
-R或——RAW-CONTROL-CHARS
[…ANSI“颜色”转义序列以“原始”形式输出。
-X或——no-init
禁止将termcap初始化和反初始化字符串发送到终端。这有时是可取的,如果
去初始化字符串会做一些不必要的事情,比如清除
屏幕上。
如果您得到您所描述的行为,您很可能将$LESS设置为其他内容,并且取消设置它(取消设置LESS)将消除该问题,同时保持“寻呼机”行为用于长输出。或者,你也可以在保持$LESS不变的情况下激活for行为,在你的.gitconfig文件中添加:
[core]
pager = less -FRX
如果您真的不喜欢寻呼机,您可以在全局或每个命令的基础上禁用它(参见其他答案)。