Ссылка на собственное имя пользователя в 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, поэтому при его использовании нам нужны кавычки.