Как я могу заставить git commit -s использовать команду git commit?

Я ищу способ автоматически писать тег Signed-off-by: при фиксации.

Я попытался настроить его через файл .git/config ( ссылка). Я помещаю эти строки кода:

[alias]
    commit = commit -s

Это не сработало. Как указано ниже, вы не можете редактировать собственный псевдоним git (например, коммит).(Ссылка)

Я также пытался использовать команду (ссылка ): git config --global format.signoff true

Тоже не подействовало. Это объясняет Зачем.

Я ищу любое решение, которое автоматически размещает тег и позволяет мне редактировать сообщение фиксации непосредственно в git, без необходимости использовать системный псевдоним.


person Eliseu Egewarth    schedule 26.01.2017    source источник
comment
Это задокументировано, что во избежание путаницы и проблем при использовании сценария псевдонимы, скрывающие существующие команды Git, игнорируются.. Вы должны выбрать новое имя для псевдонима.   -  person axiac    schedule 26.01.2017
comment
format.signoff имеет значение только для исправления (Справочник). Чтобы сделать то, что вы хотите, см. этот ответ.   -  person Dan Lowe    schedule 26.01.2017
comment
@axiac, спасибо. К сожалению, мне придется использовать другой псевдоним.   -  person Eliseu Egewarth    schedule 27.01.2017


Ответы (2)


[Редактирование сделано после последнего комментария]

Я думаю, что если я правильно догадываюсь, вы не можете использовать псевдоним, используя слова, которые являются «зарезервированными» словами для команды git.

Однако, если вы сделаете что-то вроде этого

[alias]
  ci = commit -s

Тогда он будет делать то, что вы хотите.

person Community    schedule 27.01.2017
comment
Мое намерение состояло в том, чтобы настроить непосредственно в git, не обращаясь к системному псевдониму. - person Eliseu Egewarth; 27.01.2017
comment
@EliseuEgewarth, пожалуйста, просмотрите ответ еще раз. - person ; 27.01.2017
comment
@EliseuEgewarth Просто предлагаю перефразировать вопрос, чтобы сказать, почему псевдоним git не работает с некоторыми ключевыми словами. - person ; 27.01.2017
comment
моя цель состояла в том, чтобы найти вариант, который изменит команду (git commit на git commit -s), но поскольку это уже было ответил, что это невозможно. Ответ на мой вопрос уже дан. Спасибо. - person Eliseu Egewarth; 14.02.2017

Для этого используйте обработчики коммитов
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#_committing_workflow_hooks

prepare-commit-msg

Хук prepare-commit-msg запускается до запуска редактора сообщений фиксации, но после создания сообщения по умолчанию.

Он позволяет редактировать сообщение по умолчанию до того, как его увидит автор фиксации.

Этот хук принимает несколько параметров: путь к файлу, содержащему сообщение фиксации, тип фиксации и SHA-1 фиксации, если это исправленная фиксация.

Этот хук обычно бесполезен для обычных коммитов; скорее, это хорошо для коммитов, где сообщение по умолчанию генерируется автоматически, таких как шаблонные сообщения коммитов, коммиты слияния, сжатые коммиты и измененные коммиты.

Вы можете использовать его в сочетании с шаблоном фиксации для программной вставки информации.

person CodeWizard    schedule 26.01.2017