É possível fazer git diffe salvar a saída em um arquivo com a coloração de alguma forma?
Eu sei fazer git diff > filename.rtf- o que salva em um arquivo, mas gostaria de preservar a coloração.
É possível fazer git diffe salvar a saída em um arquivo com a coloração de alguma forma?
Eu sei fazer git diff > filename.rtf- o que salva em um arquivo, mas gostaria de preservar a coloração.
Respostas:
Experimentar:
git diff --color > foo.txt
Depois, questão:
cat foo.txt
Ou:
less -R foo.txt
catusar o arquivo da linha de comando. (De que outra forma você esperaria que as cores fossem preservadas?)
Language --> D --> Diff.) Se você não gosta das cores padrão, mude-as para Settings --> Style Configurator --> Diff. Para copiar e colar com cores você pode usar um plugin (por exemplo NppExport) que permite exportar / copiar em RTF ou HTML.
Abra o arquivo diff de saída em Sublime Text 2 . Ele mostra as cores diferentes.
diff.txtpara mim, mesmo com "Diff" detectado automaticamente no canto inferior direito.
Para expandir a resposta de @Gabe.
Você pode canalizar a saída para um script bash do conversor ansi para html e direcionar essa saída para um arquivo html:
git diff --color|./ansi2html.sh > changes.html
é claro que o html pode ser visualizado por qualquer navegador para que a saída possa ser lida no Windows etc.
o código ansi2html está aqui: http://www.pixelbeat.org/scripts/ansi2html.sh
brew install gawk. Você também precisará brew install gnu-sed.
Arquivos de cores do Vim contendo git diff lindamente.

Encontrei uma resposta aqui: saída de cor de comando git específico .
Você pode passar -c color.ui=alwayspara qualquer gitcomando e ele continuará colorindo no redirecionamento. Por exemplo:git -c color.ui=always status > file
git remote add -f b path/to/repo_b.git
git remote update
git diff master remotes/b/master > foo.txt
As diferenças extraídas em arquivos '* .txt' são facilmente lidas pelo SublimeText2 sem a necessidade de definir (via Exibir -> Sintaxe -> Diff).
git remote rm remotes/b/masterpara redefinir o branch de volta ao seu estado original.
para permitir que qualquer texto de terminal colorido ... git diff ou qualquer outro ... seja visualizado em um navegador
sudo apt-get install aha # https://github.com/theZiz/aha
instalar ahausando acima e depois emitir
git diff --color mysourcefile | aha > ~/cool_colorized.html
firefox ~/cool_colorized.html
Você pode fazer o upload para o GitHub e fornecer um link para o commit relevante.