Автоматически подписывать все коммиты с помощью git [closed]

8

С git 1.7.9 можно подписать коммит с помощью -Sопции. Можно ли установить его по умолчанию через git config --global?

Так что вместо git commit -S -m 'Commit message'этого было бы просто git commit -m 'Commit message'.

tamasd
источник
2
Это возможно с новым Git с commit.gpgsign=trueнастройкой.
Ви.

Ответы:

4

Чтобы автоматически подписывать все будущие коммиты git, вы можете определить глобальный псевдоним. Например, чтобы создать глобальный псевдоним с именем «c», вы должны сделать это:

$ git config --global alias.c 'commit -s'

(обратите внимание, что переключатель фиксации для подписи - это строчные буквы "-s", а НЕ прописные "-S", как вы ввели в своем вопросе).

Сделав это, вы можете начать делать коммиты, используя только что созданный псевдоним "c". Вот пример создания и фиксации файла с именем «test.txt», который будет подписан коммиттером:

$ vim test.txt
[edit file]
$ git add test.txt
$ git c -m 'My commit message'

Вы можете увидеть, что коммит имеет строку «Signed-off-by:», если вы запустите команду «git log» с --pretty=fullerпараметром:

$ git log --pretty=fuller
ricmarques
источник
3
-sдобавляет поле «подписано» в коммит. -Sфактически PGP подписывает коммит, который был добавлен в git 1.7.9. Кроме того, это не подписывает все коммиты, а только те, которые сделаны пользователем непосредственно с помощью git cкоманды. При повторной обработке, когда создаются новые коммиты, это не будет подписывать (или подписывать PGP) коммиты, если вы не сделаете интерактивную перезагрузку и не подтвердите каждое изменение вручную.
Патрик Недзельски
Для получения более подробной информации о подписании фиксаций, смотрите здесь: phreaknerd.wordpress.com/2012/02/09/... к примеру
Патрик Niedzielski