GPG キーを使用してコミットに署名する
AppCode は、Git の組み込み GPG コミット署名(英語)機能に依存しています。最高のエクスペリエンスを得るには、パスフレーズプロンプトを処理するためのグラフィカルインターフェースを備えた gpg2 パッケージを使用することをお勧めします。
環境を構成する
GPG サポートを設定する
以下のいずれか 1 つを実行します:
最新の GitForWindows(英語) バージョンをダウンロードしてインストールします(バージョン 2.19.2 以降が必要です)。事前設定された GPG はパッケージの一部です。
すべてが正しく設定されていることを確認するには、GitBash を開き、
gpgconfコマンドを実行して、出力が次のようになっていることを確認します。gpg:OpenGPG:/usr/bin/gpg gpg-agent:Private Keys:/usr/bin/gpg-agent scdaemon:Smartcards:/usr/lib/gnupg/scdaemon gpgsm:S/MIME:/usr/bin/gpgsm dirmngr:Network:/usr/bin/dirmngr pinentry:Passphrase Entry:/usr/bin/pinentryecho GETPIN | pinentryコマンドを実行して、ピンエントリに GUI プロンプトが表示されることを確認します。Gpg4Win(英語) パッケージをダウンロードしてインストールし、次の手順を実行して、
git config gpg.programがパッケージのgpg.exeファイルを指していることを確認します。where.exe gpgを実行します。出力が複数の実行可能ファイルを返す場合は、Gpg4Win から 1 つを見つけます(デフォルトでは、パスは C:\Program FIles (x86)\GnuPG\bin\gpg.exe です)。
git config --global gpg.program <path/to/gpg/from/Gpg4Win>を実行します。
GPG サポートを設定する
以下のいずれか 1 つを実行します:
GPGTools(英語) をダウンロードしてインストールします。事前設定された GPG はパッケージの一部です。
git config gpg.programがパッケージの gpg ファイルを指していることを確認してください(デフォルトでは、パスは /usr/local/MacGPG2/bin/gpg です)。Homebrew(英語) をダウンロードして開き、次のコマンドを実行します:
brew install gnupg pinentry-macすべてが正しくセットアップされていることを確認するには、ターミナルを開き、
gpgconfコマンドを実行して、出力が次のようになっていることを確認します。pg:OpenGPG:/usr/local/MacGPG2/bin/gpg gpg-agent:Private Keys:/usr/local/MacGPG2/bin/gpg-agent scdaemon:Smartcards:/usr/local/MacGPG2/libexec/scdaemon gpgsm:S/MIME:/usr/local/MacGPG2/bin/gpgsm dirmngr:Network:/usr/local/MacGPG2/bin/dirmngr pinentry:Passphrase Entry:/usr/local/bin/pinentry-macecho GETPIN | pinentryコマンドを実行して、ピンエントリに GUI プロンプトが表示されることを確認します。
GPG サポートを設定する
Linux ディストリビューションに付属のパッケージマネージャーを使用して
gpg2をインストールします。パッケージの正確なリストは、使用しているディストリビューションによって異なります。最も重要なのは、gnupg2、gnupg-agent、GUI プロンプトを表示する pinentry です。例: Ubuntu/Debian で、
sudo apt -y install gnupg2 gnupg-agent pinentry-gnome3を実行します。すべてが正しくセットアップされていることを確認するには、ターミナルを開き、
gpgconfコマンドを実行して、出力が次のようになっていることを確認します。gpg:OpenPGP:/usr/bin/gpg gpg-agent:Private Keys:/usr/bin/gpg-agent scdaemon:Smartcards:/usr/lib/gnupg/scdaemon gpgsm:S/MIME:/usr/bin/gpgsm dirmngr:Network:/usr/bin/dirmngr pinentry:Passphrase Entry:/usr/bin/pinentryecho GETPIN | pinentryコマンドを使用して、pinentry が GUI プロンプトを表示することを確認してください。
GPG キーを設定する
最も安全な方法は、Yubikey(英語) などのスマートカードを使用してキーの秘密部分を保存することです。Yubikey のセットアップ方法については、YubiKey-Guide(英語) を参照してください。
GPG キーをインポートする
すでに GPG キーをお持ちの場合は、それぞれの GPG キーリングにインポートする必要があります。
ターミナル / コマンドプロンプト /GitBash/ システム上にあるその他のシェルを開き、次のコマンドを実行します:
gpg --import <path to your private gpg.key>
GPG キーを生成する
キーがまだない場合は、新しいペアを生成する必要があります。
ターミナル / コマンドプロンプト /GitBash/ システム上にあるその他のシェルを開き、次のコマンドを実行します。
gpg --full-generate-key(pgp 2.1.17 以下の場合は、gpg --gen-keyコマンドを使用します。ツールが返す質問に答えます。推奨される選択肢は次のとおりです。
キーの種類 : RSA
キーサイズ : 少なくとも 4096 ビット
主要な有効期間 : 1 年 (キーを 1 年に 1 回回転させることをお勧めします)
ユーザー ID 情報を入力します。コミットの作成者として表示されているものと同じユーザー名とメールアドレスを使用することをお勧めします。メールアドレスのプライバシー機能と一緒に署名を使用する場合は、GitHubnoreply メールアドレスを指定してください。
安全なパスフレーズを入力します。このようなプロンプトには GUI を使用することが重要であるため、コマンドラインではなくポップアップするダイアログに必ず入力してください。
次のコマンドを実行して、キーがインポートされていることを確認します:
gpg --list-keys
コミット署名を有効にする
AppCode を起動します(または、AppCode を再起動して、環境に加えた変更がロードされることを確認します)。
環境設定ダイアログ(Ctrl+Alt+S)で、バージョン管理 | Git に移動し、GPG キーの構成ボタンをクリックします。
開いたダイアログで、GPG キーでコミットに署名するをクリックし、使用するキーをリストから選択します。
これで、すべてのコミットが選択したキーで署名されます。GPG 署名の状態は、ログタブのコミットの詳細ペインに表示されます。
アカウントに GPG キーを追加する
使用している Git ホスティングが GPG 署名の検証をサポートしている場合は、そこにキーの公開部分をアップロードしてください。
指示に従ってください
関連ページ:
Git キー
Space のリモートリポジトリのクローンを作成してコミットするには、生成して Space に提供する認証情報が必要です。要求される認証情報の種類は、リポジトリで使用される認証方法によって異なります。リポジトリの Readme ファイルを参照して、リポジトリへのアクセスに SSH と HTTPS のどちらを使用する必要があるか、また GPG コミット署名が必要かどうかを確認してください。SSH キー:SSH キーは、SSH 経由でリモートリポジトリのクローンを作成し、対話するために必要です。SSH...
Git リポジトリに変更をコミットしてプッシュする
Git リポジトリに新しいファイルを追加した後、またはすでに Git バージョン管理下にある変更されたファイルを追加し、それらの現在の状態に満足したら、作業の結果を共有できます。これには、リポジトリのスナップショットをプロジェクト履歴に記録するためにローカルにコミットしてから、プッシュをリモートリポジトリにコミットして、他のユーザーが利用できるようにすることが含まれます。Git ユーザー名を設定する Git は、コミットを ID に関連付けるために、ユーザー名を知っている必要があります。ユーザー名...
Git リポジトリの変更を調査する
AppCode では、プロジェクト内のすべての変更を追跡できます。これにより、変更の作成者を特定し、ファイルバージョンまたはコミット間の違いを確認し、必要に応じて変更を安全にロールバックして元に戻すことができます。プロジェクト履歴を確認する:指定したフィルターに一致するプロジェクトソースに加えられたすべての変更を確認できます。プロジェクト履歴を表示するには、Git ツールウィンドウのログタブを開きます。すべてのブランチおよびリモートリポジトリにコミットされたすべての変更が表示されます。マルチリ...