Pergunta

Estou correndo git-diff em um arquivo, mas a mudança é no final de uma longa linha.

Se eu usar teclas do cursor para mover para a direita que perde a cor de codificação e pior as linhas não se alinham, tornando mais difícil para acompanhar a mudança.

Existe uma maneira de evitar esse problema, ou simplesmente para tornar as linhas embrulhar vez?

(executando git 1.5.5 via mingw32)

Foi útil?

Solução

A exibição da saída do git diff é tratado por qualquer pager que você está usando.

Normalmente, sob Linux, seria usado less.

Você pode dizer git para usar um pager diferente, definindo a variável de ambiente GIT_PAGER. Se você não se importa cerca de paginação (por exemplo, o terminal permite que você rolar para trás) que você pode tentar definir GIT_PAGER para esvaziar para pará-lo usando um pager explicitamente. No Linux:

$ GIT_PAGER='' git diff

Sem um pager, as linhas vai embrulhar.

Se seu terminal não suporta saída de cor, você também pode desligar isso usando o argumento --no-color, ou colocar uma entrada na seção de cor do seu arquivo git config.

$ GIT_PAGER='' git diff --no-color

Outras dicas

Ou se você usar menos como paginador padrão basta digitar -S enquanto visualiza o diff para embrulho reative em menos.

Você também pode usar git config para pager configuração para embrulhar.

$ git config core.pager 'less -r' 

Define a configuração de pager para o projeto atual.

$ git config --global core.pager 'less -r' 

Define o pager globalmente para todos os projetos

Para usar menos como a linha de pager e fazer envolvimento permanente você pode simplesmente ativar a opção de-longo-de linhas de dobragem:

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

Desta forma, você não tem que digitá-lo usando menos.

Felicidades

Apenas pesquisei-se um presente. obras GIT_PAGER='less -r' para me

Mac OSX: Nenhuma das outras respostas, exceto someone45 de '-S' enquanto menos está funcionando funcionou para mim. Levou o seguinte para fazer palavra-wrap persistente:

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

Uma vez que Git 1.5.3 ( setembro 2007 )

a opção --no-pager está disponível.

git --no-pager diff

Como posso evitar que git diff de usar um pager?

Exemplo

A partir da v2.1, envoltório é o padrão

Git v2.1 lançamento notas

Oito anos mais tarde, eu encontrar uma resposta superior, a partir de https://superuser.com/questions/777617/line-wrapping-less-in-os-x-specifically-for-use-with-git-diff :

git config core.pager `fold -w 80 | less`

Agora você canalizar o git diff através vezes, em primeiro lugar, em seguida, para menos:. Embrulhado, menos página-altura está correta, destaque de sintaxe manter

Você poderia simplesmente canalizar a saída do git diff a mais:

git diff | more

Nem uma solução perfeita, mas gitk e git-gui pode mostrar tanto esta informação, e ter barras de rolagem.

Quando você estiver usando "git diff" e ele está mostrando várias páginas (ver ":" no final da página), neste caso, você pode digitar "-S" e pressione enter (S deveria ser a capital).. ele vai alternar as linhas de dobragem de comprimento.

Noone apontou isso até agora. Sua bastante simples de lembrar e nenhuma configuração adicional precisa ser feito no git configuração

git diff --color | less -R

lista atual config / padrão:

  $ git config --global core.pager  
    less -FXRS -x2

, em seguida, atualizar e deixar de fora os -S como:

  $ git config --global core.pager 'less -FXR -x2'

o-s:. Provoca linhas mais longo do que a largura da tela a ser cortado, em vez de dobrado

Quando estiver em apuros, eu muitas vezes recorrem a DiffMerge. Excelente ferramenta de comparação que tem em linha de realce diff. Além disso, nas versões mais recentes acrescentaram um modo de ter um modo horizontal.

Eu não tenho sido capaz de git configure a usá-lo, no entanto. Então eu tenho que mexer para obter as duas versões do arquivo primeiro.

A maneira mais fácil de fazê-lo, no meu caso eu uso Linux OS

git diff > text.txt

Esta linha de comandos criar e coloca a saída git diff dentro do text.txt então você pode abri-lo com outro editor de texto para texto exemplo sublime.

sublime text.txt

Hope-lo ajudá-lo.

não se esqueça excluí-lo depois. = 0)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top