Como faço para o git pager limpar a saída da tela após a saída?

30

O pager menos não limpa a tela, como deveria fazer quando uso o git.

Eu uso menos o tempo todo e, geralmente, não deixa a saída no terminal após sair, mas quando menos é executado via git, ele deixa a saída no terminal. Tenho 100% de certeza de que o git usa menos no meu sistema.

O que há de errado com o git e como corrigi-lo? pager = lessem ~ / .gitconfig não ajuda. $ PAGER também está definido como menos.

ggustafsson
fonte
Para esclarecer, o git não limpa a tela por padrão , não há nada errado com o seu git. Use a resposta de @ ggustafsson para alterar o comportamento padrão.
LeartS

Respostas:

32

A solução é definir a variável MENOS. O padrão do Git é less FRSX.

export LESS=R

Como alternativa, você pode modificar a variável LESS quando o pager é chamado:

git config --global core.pager 'less -+$LESS -R'

Veja a seção core.pager em man git-config

ggustafsson
fonte
3
Remover apenas a opção X é suficiente, a opção é para impedir a restauração do terminal de acordo com o manual de menos (1).
xuchunyang
11

Para limpar a tela, mas deixar outros comportamentos intocados, você pode

git config --global core.pager 'less -+X'

Isso desativa a -Xopção por menos.

Dan
fonte
1
Você também deseja desativar o sinalizador 'F', pois menos será fechado automaticamente se o buffer for pequeno, levando você a acreditar que não há saída. Então o comando deve ser git config --global core.pager 'less -+X -+F'.
Steve Steve