Quando corro git branch
(do bash ou do csh), ele canaliza automaticamente a saída less
. No entanto, com apenas algumas ramificações no repositório, isso é mais do que desnecessário, é irritante, pois a listagem de ramificações desaparece quando eu saio menos.
A verificação de ~/.gitconfig
arquivos e .git/config
arquivos locais não encontra nada sobre um pager ou qualquer outra coisa que possa causar isso. Caso contrário, nada que eu tenha encontrado nas pesquisas na Web foi útil ou promissor.
Por que isso está acontecendo e o que (se alguma coisa) posso fazer para less
executar quando necessário (por exemplo, ao fazer um git log
quando há muita história), mas não de outro modo (como um git branch
com apenas 2 ou 3 ramos)?
export LESS=-X
o arquivo.profile
. Isso evita "limpar" a tela. Eu odeio -o de que a configuração padrão limpa a tela porque muitas vezes eu preciso cortar e colar material ou usá-lo como referência.Respostas:
Você pode definir o seguinte:
Isto irá assegurar que
less
a vontadeF
)R
)Pique linhas longas (S
)X
)Edit: Removida a
S
opção com base no comentário de Peter A. Scheiderfonte
--global
se você deseja que ele se aplique apenas ao repositório atual.LESS
como-FR
, adicionando X e S a gosto é outra maneira.export PAGER='less -FRSX'
e o git a honre (sem uma configuração específica do git). Aliás,-S
é perigoso porque descarta silenciosamente a saída.Há ótimas respostas aqui para
less
o comportamento do ajuste , mas como meus dedos de barba grisalha estão acostumados a digitar|more
quando quero, e como ainda estou mais em sintonia com mercurial do que com git, estou interessado emfonte
git-config
afirma que o valor decore.pager
deve ser interpretado pelo shell. Quando você o define comono
, ele tenta executar o comandono
, o que provavelmente não existe, e volta a simplesmente produzir o conteúdo. Você ainda verá uma mensagem de erro na cabeça. O que você provavelmente deseja fazer é configurá-locat
.cat
é inútil, e eu particularmente não confiar em Linux util mantenedores não mudar o gato não (cf. als
arquivos debacle citado ). Talvez eu devesse usar "nunca" em vez disso. É menos provável que esse programa exista.core.pager
para a cadeia vazia (git config core.pager ''
) oucat
será não executar nada. Você pode resolver isso sozinho se não acredita em mim ;-) Não há motivo algum para configurá-lo como um comando fictíciono
.cat
, você está dizendo que o git tem um caso especial para essa sequência no código do pager - istocat
é, é efetivamente um sinônimo de "nulo"? Eu esperaria que fosse executadocat
.