完全に表紙につられて読みました。かわいい〜〜〜〜〜〜!!!!!!!!!!!!!!!!!!!!!
書籍情報
・改訂2版 わかばちゃんと学ぶ Git使い方入門
・ISBN978-4-86354-343-0
Webサイトの方で連載もされていたようです。書籍よりも高度なことを扱っています。困ったらここ読めばなんとかなります。
【macOS】つまづきポイント
Pushするときにエラーを吐く(トークンを使えと言われる)
SSHのキーを作り、設定することでPushできます。ただし、リモートアドレスをssh用に変更する必要があります。
$ ssh-keygen -t rsa
$ chmod 600 ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa
でssh鍵を生成→生成した鍵を読み取り専用に→ssh-agentに鍵を登録を行います。
また、~/.ssh/configに設定を追加します。
Host *
AddKeysToAgent yes
UseKeychain yes
Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa
Port 22
User git
あとは~/.ssh/id_rsa.pubの中身をGitHubのSSH and GPG keysに追加します。
$ ssh -T git@github.com
で正しく接続できるが確認できます。
GitHubでコミットの名前が自分じゃない!
Gitを使うにはユーザー名とメールアドレスを設定する必要があります。これで複数人での作業を円滑にしているわけです。しかしここを適当に設定し、ローカルからPushすると…。
1番目と2番目は問題なくアイコンが表示されています。ところが3番目ではアイコンが表示されません!当然ですが、GitHub側に自分のコミットであることを示してやらないと表示してくれないのです。
ここにアイコンを表示したいわけです。
方法として、ただアイコンが表示されるだけ(=自分のコミットであることを証明できない)方法と、Verifiedを付けられる(=自分のコミットであることを証明できる)方法があります。
ただアイコンがつけば良い時
Sourcetreeの環境設定から、Sourcetreeで利用するユーザー名とメールアドレスをGitHubのメルアド設定から取得したダミーメールアドレスと自分のユーザー名に変えるだけでOKです。ただし、成りすましの可能性をゼロにできません。
認証はつきませんが、アイコンを表示することができます。ユーザー名はGitHubのユーザー名をそのまま入力します。
ダミーアドレスは下の通りで手に入ります。
https://github.com/settings/emailsを開き、「Keep my email addresses private」をオンにします。その後すぐ下の「〜 profile email and use 数字+ユーザー名@users.noreply.github.com when performing web-based 〜」から@users.noreply.github.comのアドレスをもつメールアドレスがダミーメールアドレスです。
ちゃんとVerifiedを付けたい時
GPG鍵を作ってGitHub側で認証します。
$ brew install gpg
$ brew install pinentry-mac
GnuPGとPinentry-macをインストールします。Homebrewのインストールが前提です。
$ gpg --quick-gen-key “名前 <メールアドレス>” future-default - 0
たくさんのランダム・バイトの生成が必要です。キーボードを打つ、マウスを動か
す、ディスクにアクセスするなどの他の操作を素数生成の間に行うことで、乱数生
成器に十分なエントロピーを供給する機会を与えることができます。
<ここでパスフレーズの入力画面>
gpg: /Users/user/.gnupg/trustdb.gpg: 信用データベースができました
gpg: ディレクトリ'/Users/user/.gnupg/openpgp-revocs.d'が作成されました
gpg: 失効証明書を '/Users/user/.gnupg/openpgp-revocs.d/<IDがここに>.rev' に保管しました。
公開鍵と秘密鍵を作成し、署名しました。
pub ed25519 2022-04-27 [SC]
<ここにID>
uid ユーザ名 <メールアドレス>
sub cv25519 2022-04-27 [E]
$ gpg --armor --export <鍵のID>
-----BEGIN PGP PUBLIC KEY BLOCK-----
<公開鍵の中身>
-----END PGP PUBLIC KEY BLOCK-----
その後鍵を生成し、公開鍵を吐き出します。
SSH and GPG keysにアクセスし、緑の「New GPG key」ボタンをクリックします。
先ほど吐き出した公開鍵を貼り付け、「Add GPG key」をクリック。
$ gpg -k
gpg: 信用データベースの検査
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u
/Users/user/.gnupg/pubring.kbx
-----------------------------
pub ed25519 2022-04-27 [SC]
<鍵のID>
uid [ 究極 ] ユーザー名 <メールアドレス>
sub cv25519 2022-04-27 [E]
$ git config --global gpg.program gpg
$ git config --global user.signingkey <鍵のID>
$ git config --global commit.gpgsign true
$ git config --global tag.gpgsign true
最後にGPGの設定を行なって終了です。
内容は、鍵のIDの確認→gpgプログラムの指定→GPG鍵の指定→コミットにgpgをいつも使うようにする
となっています。
コメント