Выводит git сообщение / вывод из git pull и git fetch в текстовый файл - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть хранилище в облаке.Для своих личных нужд я пытаюсь сделать резервную копию (да, это глупо, я знаю) на моем собственном сервере.Я уже установил там git и использую его через командную строку Windows.

Я создал задачу, которая запускается каждый день в 23:00 для извлечения / извлечения последних изменений из облака.

СейчасЯ хочу вывести результат в текстовый файл после выборки или извлечения.Как мне это сделать?

Мой bat-файл выглядит так, как показано ниже.Как-то это не работает и только текст "Уже в курсе".подходит.

d:
cd D:\git\myRepo
echo: >> log.txt
echo %date:~0% - %time:~0,8% Uhr >> log.txt
git fetch .>> log.txt
echo: >> log.txt
git pull .>> log.txt 
echo: >> log.txt 

1 Ответ

0 голосов
/ 07 февраля 2019

Это был интересный вопрос для устранения неполадок.Проблема с . в .>>.Сначала я предположил, что .>> является частью синтаксиса перенаправления cmd в Windows, но это не так.На самом деле вы запускаете git fetch . и git pull . и добавляете журнал этих команд в log.txt.Замените .>> на >>, и все готово.

Если вы хотите, чтобы stderr был сохранен в log.txt вместе со стандартным выводом, что, как я предполагал, было .>>, когда я впервые прочиталвопрос, это сработало для меня:

d:
cd D:\git\myRepo
echo: >> log.txt
echo %date:~0% - %time:~0,8% Uhr >> log.txt
git fetch >> log.txt 2>&1
echo: >> log.txt
git pull >> log.txt 2>&1
echo: >> log.txt 

Возвращаясь к git fetch . и git pull ., мои эксперименты заставляют меня заключить, что . является ссылкой на вашу текущую песочницу, которая объясняет, почему тянет /При извлечении из . всегда говорится Already up to date. Я пришел к такому выводу, сравнив git remote show . и git remote show origin, хотя не смог найти никакой документации для ., использованной таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...