case-kの備忘録

備忘録です。

GIt Hub アカウント登録 & 認証エラー対応

今回はGit Hubアカウント作成方法から、作成したプログラムやドキュメントををGItにPushするための一連の流れを記事にしてみました。
また、Gitあるあるな認証エラーの対応も備忘録も兼ねてまとめてみました。

本記事の目的

・Git Hubの始め方と一連の流れを理解すること
・認証エラーがでた場合の対応を理解すること

アカウント作成

Git Hubのアカウント作成作成方法をご紹介します。まずは以下より、アカウントを登録して下さい。
https://github.co.jp/
f:id:casekblog:20181016231402p:plain:w500

認証作業

Git Hubアカウントは作成できたので、次にGit Hubへの認証作業を行います。
Pushを行うためには以下の情報をローカルPCに登録する必要があります。

  • ユーザ名
  • メールアドレス
  • 認証鍵

ローカルPCにGitをインストールしていない場合は以下の方法でインストールして下さい。
はじめてでもOK!Gitをインストールする方法 | TechAcademyマガジン
まずは以下の方法でローカルPCにユーザ名とメールアドレスを登録します。

$ git config --global user.name "[ur use name]"
$ git config --global user.email [ur email address]

登録できたか確認してみます。

$ git config --list

次に秘密鍵、公開鍵を生成します。

$ cd ~/.ssh
$ ssh-keygen -t rsa -C "your_email@example.com"

# Out
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): (任意)
# Enter same passphrase again: (任意)

# add private key
$ ssh-add ~/.ssh/id_rsa

鍵を生成できたら、次は公開鍵の中身をGit Hubアカウントに登録してあげます。

# copy public key
$ pbcopy < ~/.ssh/id_rsa.pub

ブラウザからGit Hubアカウントに移動し、右上アカウントから「Setting」を選び「SSH & GPS KEY」をクリックして下さい。
f:id:casekblog:20181016232632p:plain:w500
遷移先から「New SSH key」を選択し、先ほどコピーした公開鍵の中身を貼り付けて下さい。
以上で認証作業は完了です。

リポジトリ作成

アカウント登録と認証処理が完了したので、Gitにリポジトリを作成し、プログラムをPUSHして行きたいと思います。Git Hubホーム画面より「Repository」を選び「New」を押して下さい。
f:id:casekblog:20181016232923p:plain:w500
リポジトリ名を入力しリポジトリを作成します。リポジトリが作成できましたら、ローカルのファイルをPUSHしたいと思います。
まずはローカルPCに作業ディレクトリを作成し、その中でファイルを作りPUSHをします

$ mkdir workspace
$ cd workspace

$ echo "# [repository name]" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/case-k-git/test.git
$ git push -u origin master

問題なくPUSHができたら、ブラウザからGit Hubのリポジトリを確認してみて下さい。

認証エラーが出た場合

ここでは認証エラーがでた場合の対応をいくつか記載いたします。基本的に新しくGit アカウントを作った場合はローカルPCに登録している認証に必要な以下を行う必要があります。まずは冒頭に書いてある認証処理を試して下さい。

・ユーザ名の変更
・メールアドレスの変更
・認証鍵の変更

上記を行ったにも関わらず以下のようなエラーがでる場合があります。
私の場合は、$ git config --listで正しく反映されていることを確認したにも関わらず、Git HubへのPUSH時に以前のユーザ名が参照され認証エラーになっていました。

$ git push -u origin master
remote: Permission to [user-name]/PHP.git denied to [previous username]
fatal: unable to access 'https://github.com/case-k-git/PHP.git/': The requested URL returned error: 403

このような認証エラーが発生した場合は以下の対応を行って下さい。

1. --global credentialでuser nameを指定する

$ git config --global credential.username 'username'

2. キーチェーンアクセスより以前のGit Keyを削除する
「アプリケーション」から「キーチェーンアクセス」を選択し、「git」で検索して下さい。
もし以前の鍵があるようであれば削除することで解決します。
f:id:casekblog:20181016235717p:plain:w300

終わりに

Git アカウントを新しく作った際、認証エラーにつまずいたので備忘録も兼ねて本記事を書いてみました。
最後まで読んで頂きありがとう御座います。


■ 参考記事
[GitHub] 公開鍵登録の際に、Permission denied (publickey). が出続ける場合の対応 (vagrantからsshする場合の注意も) - Qiita
いまさらだけどGitを基本から分かりやすくまとめてみた - Qiita
macos - How to switch git user at terminal? - Super User