当我使用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

当前回答

正如Mark Adelsberger回答的评论中提到的,这是Git 2.16中引入的默认行为更改。

在默认情况下,您可以使用分页器关闭git分支的分页输出。分支配置设置:

git config --global pager.branch false

其他回答

https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables

GIT_PAGER控制用于在上显示多页输出的程序 命令行。如果未设置该参数,则将使用PAGER作为备用。

要解决这个问题,可以在shell中取消设置PAGER和GIT_PAGER。

对于那些想要更新~/。Gitconfig来修复这个问题,它看起来像这样:

[pager]
   branch = false

这是我的工作(Windows下的Powershell)

$ git branch | echo

Git的这种行为对我来说也越来越烦人。 我得到了我的标签列表在更少的时候,只是想列出标签为例。

也可以通过将默认的Git PAGER更改为cat而不是less来控制这种行为。我宁愿在iTerm中滚动,也不愿在编辑器中滚动。我喜欢在需要的时候使用编辑器。

So:

git config --global core.pager cat

正如Mark Adelsberger回答的评论中提到的,这是Git 2.16中引入的默认行为更改。

在默认情况下,您可以使用分页器关闭git分支的分页输出。分支配置设置:

git config --global pager.branch false