Gitの使い方を学ぼう!!

コンピュータ全般

完全に表紙につられて読みました。かわいい〜〜〜〜〜〜!!!!!!!!!!!!!!!!!!!!!

書籍情報

・改訂2版 わかばちゃんと学ぶ Git使い方入門
・ISBN978-4-86354-343-0

https://www.amazon.co.jp/dp/4863543433/

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で正しく接続できるが確認できます。

新しいMacでGitHubのSSH接続をするまでの環境構築手順 - Qiita
新しいMacでGitHubのSSH接続を確認するところまでの環境構築メモ。※すでにGitHubアカウントが存在する前提で進めます大まかな流れgitのインストールSSH認証キーの作成GitH…

GitHubでコミットの名前が自分じゃない!

Gitを使うにはユーザー名とメールアドレスを設定する必要があります。これで複数人での作業を円滑にしているわけです。しかしここを適当に設定し、ローカルからPushすると…。

GitHubでコミットを表示したところ。上から認証済みユーザー、未認証ユーザー、GitHub上に存在しないユーザー、となっている。
GitHubでコミットを確認すると、確かにユーザ名に変化があります

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のアドレスをもつメールアドレスがダミーメールアドレスです。

GitHub でダミーのメールアドレスを使用する - Qiita
はじめにGitHub は Committer の判別にメールアドレス(git config の user.email)を使用しています。ここが自分のメアドでないと、GitHub 上のログに本人のア…

ちゃんと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をいつも使うようにする
となっています。

[Git] GitHubにGPG鍵を登録し署名付きcommit/tagを行う - ねこの足跡R
Gitの初期設定で自分の名前やメールアドレスを入力するわけですが、特に認証などが入るわけではないので簡単に他人になりすましが出来てしまいます。そこで確かに自分がコミットまたはタグを付けたことを証明するために、署名を付けることができます。 G...
GitHubのコミットにverifiedをつける - Qiita
初めにタイトルの通りです。Windows環境上でコミット時、タグやコミット時にサインすることで本人が行った動作と証明します。想定している人ラクに✔マークをつけたい人ほかのページだと断片化し…
Zenn

コメント

タイトルとURLをコピーしました