Ссылка на собственное имя пользователя в git-alias

Я хочу перечислить все коммиты "с момента моего последнего коммита".

Прямо сейчас я использую этот вариант псевдонима журнала:

[user]
    name = My Name
[alias]
    lg = !git log --since $(git log --pretty=format:'%ct' --author 'My Name' -1)

В целом это работает нормально, но я бы хотел сослаться на свое имя пользователя, указанное в.gitconfig, вместо того, чтобы жестко его кодировать.

Возможно ли получить доступ к этому значению? (например: $(GITCONFIG:User:Name))

Так, на всякий случай: $(whoami) не работает, потому что имена пользователей не совпадают.

1 ответ

Решение

Вы можете извлечь свое имя из конфигурации Git:

me=$(git config --get user.name)

например. Если у вас есть это в переменной, вы можете обратиться к переменной. (Если вам нужно только один раз, вы можете вкладывать $(...) конструкции, которые выглядят довольно умно, но потом их сложно отладить:-))

Следовательно:

[alias]
    lg = "!me=$(git config --get user.name); \
      git log --since $(git log --pretty=format:'%ct' --author \"$me\" -1)"

(здесь вам не нужна последовательность backslash-newline-indent, но вы можете использовать ее, если вам это нравится: Git разрешает многострочные псевдонимы, используя backslash-newline). Примечание: точка с запятой - это маркер комментария в файле конфигурации Git, поэтому при его использовании нам нужны кавычки.

Другие вопросы по тегам