Salve no arquivo git fetch terminal output

0

Eu tentei várias maneiras de salvar em um arquivo de log 'git fetch output' do terminal, através de um arquivo bash mas sem sucesso, como,

git fetch origin > output.log

ou até mesmo adicionando output.log na frente do script bash onde eu tenho 'git fetch origin'.

Com script de comando é a única maneira que tenho de gravar todas as informações em um arquivo txt através de '>', mas eu teria que inseri-lo manualmente e ele pára quando tento usá-lo dentro de um arquivo bash deixe-me apresentar comandos, não sei se existe uma maneira de usar um arquivo bash para inserir o comando 'git fetch origin' dentro do comando script.

Esta é uma amostra de como a saída no terminal é depois de executar o comando 'git fetch origin',

Xserver$ git fetch origin > output.log
remote: Counting objects: 14, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 14 (delta 5), reused 0 (delta 0)
Unpacking objects: 100% (14/14), done.
From https://bitbucket.org/x/test
 * [new branch]      branch1    -> origin/branch1
 * [new branch]      branch2    -> origin/branch2
 * [new branch]      branch3    -> origin/branch3
 * [new branch]      branch4    -> origin/branch4
 * [new branch]      master     -> origin/master

Existe uma maneira de salvar esta saída em um arquivo txt?

    
por SipriusPT 15.12.2016 / 18:56

2 respostas

2

Parece que o git imprime a saída para stderr, então você deve usar >& .

Exemplo: git fetch -v >& test.txt

    
por 15.12.2016 / 19:48
1

Existe um comando chamado script , que pode ser usado para salvar a saída do terminal de qualquer comando. Por exemplo, poderia ser chamado assim:

script -f output.log -c 'git fetch origin'

Ao contrário do redirecionamento comum, o comando ainda verá stdout e stderr conectados a um dispositivo pts, portanto, os comandos que usam formatação diferente para saída de arquivo e saída de terminal ainda estarão produzindo todas as seqüências de formatação de terminal.

Adicional com script , a saída será enviada para o seu terminal e para o arquivo de log especificado. Se usar o script ou o redirecionamento comum depende do seu cenário de uso exato.

Os parâmetros no comando acima têm o seguinte significado:

  • -f grava a saída no arquivo de log imediatamente quando produzida (por padrão, a saída é armazenada em buffer).
  • output.log do nome do arquivo para gravar a saída (por padrão, denominado typescript ).
  • -c 'git fetch origin' o comando para invocar (por padrão, um shell será iniciado).
por 18.12.2016 / 23:08