git log --pretty = формат Windows странное поведение - PullRequest
0 голосов
/ 28 октября 2018

Я сокращаю проблему до самых низких сроков.В Linux команда git, подобная этой:

git log --pretty=format:{"commit":"%H"}

, дает мне допустимый элемент json, поэтому что-то вроде:

{"commit":"20cafdecc9898113ac6215ae70cd7622dc2cae3b"}

в Windows я получаю недопустимый элемент json, потому что вкаким-то образом окна, кажется, удаляют элементы двойных кавычек, и я получаю:

{commit:20cafdecc9898113ac6215ae70cd7622dc2cae3b}

Знаете ли вы, почему или как я могу это исправить, чтобы он работал под обеими ОС?Спасибо!

1 Ответ

0 голосов
/ 28 октября 2018

Я предполагаю, что ваша оболочка в Linux НЕ является оболочкой bash, потому что моя оболочка bash в Linux выдает мне тот же вывод, что и в Windows - без двойных кавычек.

Двойные кавычкиспециальные символы для большинства оболочек - таким образом, вы должны защищать их либо «экранированием», либо «цитированием».

git log --pretty=format:{\"commit\":\"%H\"}
git log --pretty='format:{"commit":"%H"}'

Это работает для bash в Linux и bash в Windows.Я не проверял это с cmd в Windows.

...