Bubble Bath

野球が好きすぎる女子インフラエンジニアのBlog

GitHubことはじめ〜コマンドでGitHubを操作できるようにする方法〜

  • GitHubを会社で使うことになったけど、やり方がわからない!
  • コマンドでGitを操作したいけど…なんだか難しい!

そんな駆け出しエンジニア、きっとどこにでもいると思います。 もしくは、Web系エンジニアになりたい!と思ってアウトプット活動をはじめたけれど、 GitHubの使い方で詰まっている方。

実際、わたしがそうでした。 仕事でGitHubを使うことになりましたが、用語も設定方法もわからず、 なにそれおいしいの?状態でした。

そんな方々のために、

コマンドでGit、GitHubを使えるようにする設定 を解説します!



目次



想定環境

  • MacOS
  • 会社やチームなどでGitHubを使うことになった
  • コマンドでのGit操作をしたい

https://blog-plaid.com/wp-content/uploads/2018/03/github-logo-1000x333.png



ターミナルでGitを使えるようにする

Gitがインストールされているか確認

Macの場合、はじめからGitがインストールされています。 以下のコマンドをターミナルで叩いてみてください。

$ git --version
git version 2.15.2 (Apple Git-101.1)

git version x.x.x という結果が返ってきたら、すでにあなたのPCにはGitがインストールされています。

めでたしめでたし。

エラーが出てしまったら

MacOS Mojave/High Sierraなどで、以下のようなエラーが出てしまうことがあります。

$ git --version
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

これはソフトウェアアップデートにより、コマンドラインツールが吹っ飛んでしまっているために起こります。 そんなときはこのコマンドを叩いてみてください。

$ xcode-select --install

インストーラが立ち上がり、無事Gitコマンドを使えるようになります。

GitHubのアカウントを取得する

まずはここから

https://github.com/

上記のサイトに飛びます。 もしアカウントを持っていなければ、

  • ユーザ名
  • Eメールアドレス
  • パスワード

を入力してSign up for GitHubをクリックします。

その後無料or有料を選び、メールアドレスを認証すれば登録は完了です。

個人で使うのであれば、まずは無料でOKだと思います。 ちなみに有料にすると、アップしたコードを非公開にもすることができます。

もしアカウントをすでに会社で作成されている、などといった場合は、Sign Inを押してログインしてみましょう。

新規登録orログインが全て完了すると、このような画面が表示されます。

f:id:awana1023:20181104184411p:plain

ターミナルのGitと自分のGitHubアカウントを紐づける

ユーザー情報をターミナルへ登録

以下のコマンドをターミナルで叩き、アカウント情報を登録します。

$ git config --global user.name "「ユーザ名」"
$ git config --global email.address "「メールアドレス」"

登録した情報の確認はこのコマンドでできます。

$ git config --list #全部確認
$ git config user.name #ユーザ名確認
$ git config email.address #メールアドレス確認

SSH鍵生成

ここまでの状況だと、誰かのGitHubのユーザ名とメールアドレスさえわかってしまえば、誰でもGitHubと通信が可能です。つまり、別人になりすますこともできてしまいます。

しかし実際にはそんなことは起きません。 なぜなら、自分のターミナルでSSH鍵(秘密鍵と公開鍵のペアになっている)を生成し、その公開鍵をGitHubアカウントに登録しておくことで、自分が持つ秘密鍵GitHubアカウントの公開鍵のペアが一致しなければ、通信できないようになっているからです。

その方法を説明します。

まずはターミナル上でSSH鍵セットを生成します。

$ ssh-keygen -t rsa -b 4096 
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): 

SSH鍵の名前を聞かれます。デフォルトはid_rsaであり、そのままでよければEnterを押して構いません。違う名前にしたい場合は以下のように名前を入力してからEnterを押します。 SSH鍵を生成する機会はGitHubの使用時に限りませんので、これがGitHubの鍵だ!とわかるようにしておくのがおすすめです。

Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): /Users/hogehoge/.ssh/id_rsa_github

パスフレーズの設定

名前を決めたら、パスフレーズを入力します。パスフレーズなしで鍵を生成することも可能ですが、安全面強化のため設定することが望ましいです。 同じパスフレーズを2度入力します。画面には表示されないので気をつけて入力しましょう。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

これが完了すると、 * 公開鍵(.pubがついている) * 秘密鍵 のセットが/Users/hogehoge/.ssh配下に生成されます。 秘密鍵は自分しかアクセスできないところに配置してなくさないようにしてください。

秘密鍵パーミッションを600(自分のみが読み取り、書き出し可能)に設定します。

$ chmod 600 ~/.ssh/id_rsa_github

以下のコマンドで確認します。 -rw-------と表示されればOKです。

$ ls -la ~/.ssh/id_rsa_github
-rw-------  1 hogehoge  staff  **** 11 4 12:34 /Users/hoge/.ssh/id_rsa_github

ターミナルで使用する鍵の設定

ssh-agentに鍵を登録します。 ここに秘密鍵を登録すると、パスフレーズを毎回登録する必要がなくなります! 登録は以下のコマンドで行います。

$ ssh-add ~/.ssh/id_rsa_github

ここでパスフレーズを聞かれます。

$ ssh-add -l 

で登録した鍵が表示されていたらOKです。

参考URL:ssh-agentの使い方 - Qiita

GitHubに公開鍵を登録する

作成した公開鍵をGitHubに登録します。 公開鍵をエディタで開いて中の文字列をコピーします。 (余計なスペースや改行etcが入らないように注意!)

ブラウザのGitHub画面の右上のアイコンをクリックし、「Settings」を開きます。

f:id:awana1023:20181104184530p:plain

左側にある「SSH and GPG keys」をクリックします。

f:id:awana1023:20181104184912p:plain

「New SSH key」をクリックして新しいSSH鍵を追加します。

  • Title:ここはなんでもいいです。どのPCにある公開鍵かわかるようにしておくのがおすすめです。
  • Key:コピーしてきた公開鍵を貼り付けます。

入力が完了したら「Add SSH key」をクリックします。

f:id:awana1023:20181104184946p:plain

SSH接続できるか確認する

ターミナルで以下のコマンドを入力します。

$ ssh GitHub

The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Hi awn-km23! You've successfully authenticated, but GitHub does not provide shell access.

このようにYou've successfully authenticatedと表示されればOKです。

The authenticity of host 'github.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

このような警告が出る場合があります。

「まだこのIP(今回ならGitHub)に接続したことがないよ!接続しちゃっても大丈夫?」という警告です。 もちろん大丈夫なので、yesと入力して進みましょう。

ひとまず完了です

ここまでで、Gitをターミナルで使う準備は完了です! おつかれさまでした!

次回記事では、 「コマンドでのリポジトリクローンから初めてのプルリクまで」を解説していく予定です!

参考URL