Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,363,993
Community Members
 
Community Events
168
Community Groups

Possible to GPG sign commits by default?

I've got SourceTree (on Mac) set up with GPG and I can sign my commits fine by manually selecting "Sign commit" from the commit settings dropdown, but this is tedious when you do a lot of commits.  Is there an option hiding somewhere that I can use to force SourceTree to sign ALL of my commits, on either a global or repository level? (either would work for me)

I did try editing my global .gitconfig as well as my repository config with a new section:

[commit]

gpgsign = true

 

And this works fine when I git commit via the command line, but SourceTree isn't even able to commit at all with this settings since it tries to open /dev/tty for some reason (even though my pinentry program is set to pinentry-mac).

 

Any help would be appreciated!

3 answers

To be able to sign commits by default, in your ~/.gitconfig, add:

[user]
    signingkey = ........
[commit]
    gpgsign = true
[gpg]
    program = /Applications/SourceTree.app/Contents/Resources/bin/stgpg.sh

Check stgpg.sh to see why this resolves the issue with /dev/tty.

Worked perfectly for me, thanks a LOT!

Brilliant! Thanks a lot!

Sorry for the stupid question but... in `signingkey` what should I put? The fingerprint?

You need to use the key ID; its 8 hexadecimal characters, which I think are (always?) the last 8 characters of the key fingerprint.

On my Mac, with Homebrew installed gpg and pinentry-mac, the following git configuration was sufficient:

[user]
name = My Name
email = xxxxx@users.noreply.github.com
signingkey = XXXXXXX
[credential]
helper = osxkeychain
[commit]
gpgsign = true
[gpg]
program = /usr/local/bin/gpg 

 

0 votes
Deleted user Apr 07, 2016

Same problem

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events