As mentioned above, this was a default behavior change introduced in git 2.16. You can turn paged output for git branch back off by default with: git config --global pager.branch false
回答2:
Not to argue semantics, but the behavior you're getting is the default. That's why you get it when you don't ask for something different. By default, branch (and numerous other git commands) use a pager when sending output to the terminal.
You can override this default by using the --no-pager option
git --no-pager branch
Or if you redirect the output to a file, git should detect that it isn't writing to a terminal and so should not use a pager anyway. (On the other hand, that suggests a scripting use case, in which case you should consider using a plumbing command like git for-each-ref in preference to git branch.)