Parece que o git imprime a saída para stderr, então você deve usar >&
.
Exemplo: git fetch -v >& test.txt
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?
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).