2014-06-26 26 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確實,謝謝,如果這是一個問題,那麼你的答案是更好的方法。 –