是否有可能在Git中签署合并提交?

时间:2017-07-19 14:07:00

标签: git git-merge atlassian-sourcetree

我必须签署我的每一次提交以推动原点。但是,合并提交没有签名,我使用sourcetree和git控制台,无法签署合并提交。有没有办法可以做到?

5 个答案:

答案 0 :(得分:4)

合并完成后,您可以运行git commit --amend --no-edit -s

答案 1 :(得分:2)

您可以在不提交的情况下进行合并:

git merge --no-commit

Git准备好所有事情。之后,您使用

完成合并
git commit -s

答案 2 :(得分:2)

如果您很幸运,--signoff将作为参数添加到git merge中。似乎正在进行的工作,请参阅本月早些时候的this patch

在此之前,其他答案都可以。但是,我想建议为简单性添加别名。例如,将以下内容添加到.git/config文件中。

[alias]
    merge-signed = !git merge --no-commit $1 && git commit -is

然后:

git merge-signed feature

答案 3 :(得分:1)

一种方法是合并,然后“git commit --amend”用于更改提交消息的提交或与“--no-commit”合并,然后使用signed-off-by行手动提交。

合并通常不会引入新的更改,因此,并不总是需要签名。

答案 4 :(得分:0)

是的,Git 2.14.x / 2.15(2017年第3季度)

是可能的

commit 14d01b4Łukasz Gryglicki (lukaszgryglicki)(2017年7月4日) Junio C Hamano -- gitster --于2017年8月24日commit bdfc15f合并)

  

merge:添加--signoff标志

     

Some projects require every commit, even merges, to be signed off

     

由于“git merge”没有像“--signoff”那样的“git commit”选项,因此当命令显示编辑器来描述合并时,用户需要手动添加一个,或稍后使用“git commit --amend --signoff”。

     

通过教授“--signoff”选项来帮助这些项目的开发人员   “git merge”。