Подтвердить что ты не робот

Зафиксировать без установки user.email и user.name

Я пытаюсь сделать это как

git commit --author='Paul Draper <[email protected]>' -m 'My commit message'

но я получаю

*** Please tell me who you are.

Run

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

to set your account default identity.
Omit --global to set the identity only in this repository.

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

git config user.name 'Paul Draper'
git config user.email '[email protected]'
git commit -m 'My commit message'
git config --unset user.name
git config --unset user.email

Это много строк для одной фиксации!

Есть ли более короткий путь?

4b9b3361

Ответ 1

(Это пришло мне в голову после предложения длинной версии с переменными среды - git commit хочет установить и автора, и --author, а --author переопределяет только первый.)

Все команды git принимают аргументы -c перед глаголом действия, чтобы установить временные данные конфигурации, так что это идеальное место для этого:

git -c user.name='Paul Draper' -c user.email='[email protected]' commit -m '...'

Так что в этом случае -c является частью команды git, а не подкомандой commit.

Ответ 2

Вы можете отредактировать файл .git/config в своем репозитории, добавив следующий псевдоним:

[alias]
  paulcommit = -c user.name='Paul Draper' -c user.email='[email protected]' commit

или вы можете сделать это с помощью командной строки:

git config alias.paulcommit "-c user.name='Paul Draper' -c user.email='[email protected]' commit"

И тогда вы можете сделать:

git paulcommit -m "..."

Примечания:

  • Идея состоит в том, чтобы добавить также псевдонимы, такие как jeancommit, georgecommit ,... для других пользователей этого общего ящика.
  • Вы можете добавить этот псевдоним в свою глобальную конфигурацию, отредактировав свой личный .gitconfig или добавив параметр --global в командную строку при добавлении псевдонима.
  • Псевдоним paulcommit не является коротким, но он многословен, и вы можете в общем случае набрать только git pau + tab.