2014-06-26 23 views
9

git 2.0具有配置选项commit.gpgsign它将签署所有提交。GPG签署所有git提交而不存储

这也适用于git stash,并会要求输入我的gpg密码的密码。

其他方式可以自动签署所有提交,标签,但不包括存储?

+0

GPG没有像ssh-agent这样的SSH存储库吗? –

+0

@Cupcake:有'gpg-agent'可以缓存凭证,但是因为在最后一次提交和存储之间通常会有一段时间,它会(并且应该)再次提问。 – f0i

回答

11

这是别名领土:

git config --global alias.stashq '-c commit.gpgsign=false stash' 
+0

对于SSH,GPG是否没有像ssh-agent一样的凭证存储? –

5

我喜欢jthill的答案,只是想提供一个稍微不同的选项,这样你就不必学习型的新命令。当您运行git stash然后外壳函数调用git的二进制之前插入额外的参数

git() { 
    case $1 in 
    stash) set -- -c commit.gpgsign=false "[email protected]" ;; 
    esac 
    command git "[email protected]" 
} 

现在:您可以在.bashrc定义一个shell函数是这样的。

+0

我很久以前就提出了这个问题,但我想指出,如果您向git命令本身提供任何选项,例如,您可以使用'git -C〜/ other/repo push'来运行,只需使用$ 1就行不通了推入其他回购。 – jthill

+0

@jthill确实,谢谢,如果这是一个问题,那么你的答案是更好的方法。 –