GitHubにGPGで署名してコミットする

GitHubにGPGで署名してコミット出来るように設定する方法です。署名するようにすると、コードをコミットした人がなりすましとかではないことを確認できるようになります。例えば、署名したコミットはGitHub上で「Verified」と表示されます。

GitHubに公開鍵を登録する

GitHubに公開鍵を登録します。登録する公開鍵は、ローカルリポジトリに指定しているメールアドレス用の公開鍵を登録します。複数登録できるので、私の場合は本当のメールアドレスの公開鍵と、@users.noreply.github.comの公開鍵を登録しました。

GitHubで登録するには、アカウントの設定画面の「SSH and GPG keys」の「GPG keys」に追加します。

公開鍵の出力方法については、以下の記事を参考にしてください。

クライアントマシンで署名する設定を行う

以下の様にターミナルでコマンドを実行します。

# プログラムを指定する
$ git config --global gpg.program $(which gpg)

# GPGの署名を有効化する。グローバルに設定する場合は、--globalを付ける
$ git config commit.gpgsign true

# fingerprintをコピーする。下記の「########」の部分に出力された値をコピーする
$ gpg -K --keyid-format SHORT

sec rsa4096/######## YYYY-MM-DD [SC] [expires: YYYY-MM-DD]

# キーを設定する。「########」には上記でコピーしたfingerprintを指定する。グローバルに指定したいときは--globalを付ける
git confg user.signingkey ########

SourceTreeで署名する設定を行う

以下の様にターミナルでコマンドを実行します。

$ ls -la /usr/local/bin/gpg

# 上記のコマンドで本当の保存先が分かる。例えば「../Cellar/gnupg/2.2.6/bin/gpg」などが出力される。
# SourceTreeはgpg2でないと認識しないので、gpg2という名前のシンボリックリンクを作る

$ cd /usr/local/Cellar/gnupg/2.2.6/bin
$ sudo ln -s gpg gpg2

SourceTreeでリポジトリの設定ダイアログの「セキュリティ」タブで「コミット用GPG鍵の署名を有効にする」をONにしてキーを選択します。

投稿者プロフィール

林 晃
林 晃macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者
アールケー開発代表。macOS/iOSアプリ/SDK/ミドルウェア開発が専門の開発者。ObjC/Swift/C++使い。豊富な開発実務経験を基に、教育コンテンツ開発、技術書執筆、技術指導、技術セミナー講師、企業内研修講師、行政・自治体職員研修講師も行います。

基礎から学ぶMetal


「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。

私が初めてGPUプログラミングを行ったとき、どこから手をつけて、学んでいけば良いのか分からず呆然としました。もし、あのとき、これを教えてくれればという部分を解説しました。本書で解説している部分はMetalの基礎となる部分で、Metalを使うときに必ず触れることになる部分です。

詳細

基礎から学ぶSwiftUI


「基礎から学ぶ SwiftUI」というタイトルの本を執筆しました。

SwiftUIの入門書です。

SwiftUIのコンセプトは「ユーザーインターフェイスを作るための最短パスを提供する」「一度学べば(Appleのプラットフォームの)どこにでも適用できる」です。

SwiftUIの概要から始まって、一つ一つのテクノロジートピックに注目しながらSwiftUIとは何か?どんなことができるのか?どのようなコードを書けば良いのかなどを丸々一冊使って解説しています。

詳細

関連記事

  1. GPGの秘密鍵や公開鍵のバックアップ方法

  2. Bitbucket Server で Git LFS を使う

  3. Gitから変更されたファイルだけ取り出す方法

  4. SSHのクライアント側のセットアップ

  5. SSHキーの設定を行ったらSourceTreeが動くようになった

  6. 自分にとってのチケット駆動開発

  7. GPGの鍵の生成方法

  8. GitLabへの移行

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事