подсчет истории изменений в git

Выход

echo $var сильно зависит от значения переменной IFS. По умолчанию он содержит символы пробела, табуляции и новой строки:

[ks@localhost ~]$ echo -n "$IFS" | cat -vte
 ^I$

Это означает, что когда оболочка выполняет разделение поля (или разбиение слов), он использует все эти символы в качестве разделителей слов. Это то, что происходит при ссылке на переменную без двойных кавычек, чтобы повторить его ($var) и, таким образом, ожидается выход меняется.

Один из способов предотвратить разбиение слов (помимо использования двойных кавычек), чтобы установить IFS к null. См http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_05 :

Если значение IFS имеет нулевое значение, не поле расщепление должно быть выполнено

Установка на нуль означает, что установка на пустое значение:.

IFS=

Тест:

[ks@localhost ~]$ echo -n "$IFS" | cat -vte
 ^I$
[ks@localhost ~]$ var=$'key\nvalue'
[ks@localhost ~]$ echo $var
key value
[ks@localhost ~]$ IFS=
[ks@localhost ~]$ echo $var
key
value
[ks@localhost ~]$ 
ч>

0
задан Uwe Keim 13 July 2018 в 18:29
поделиться

1 ответ

Если я правильно понимаю, я думаю, что вам нужна опция --first-parent в git-log . Это будет следовать только за первым родителем каждого слияния, с которым столкнулся destination слияния.

Например, на вашей ветке master вы могли бы сделать ...

git log --first-parent master

... и это только покажет, что вы совершаете прямо на master (возможно, ни один из них, я предполагаю), и коммиты слияния, которые были объединены в master.

0
ответ дан jnrbsn 17 August 2018 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: