GitHubことはじめ〜コマンドでGitHubを操作できるようにする方法〜
- GitHubを会社で使うことになったけど、やり方がわからない!
- コマンドでGitを操作したいけど…なんだか難しい!
そんな駆け出しエンジニア、きっとどこにでもいると思います。 もしくは、Web系エンジニアになりたい!と思ってアウトプット活動をはじめたけれど、 GitHubの使い方で詰まっている方。
実際、わたしがそうでした。 仕事でGitHubを使うことになりましたが、用語も設定方法もわからず、 なにそれおいしいの?状態でした。
そんな方々のために、
コマンドでGit、GitHubを使えるようにする設定 を解説します!
目次
想定環境
ターミナルで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のアカウントを取得する
まずはここから
上記のサイトに飛びます。 もしアカウントを持っていなければ、
- ユーザ名
- Eメールアドレス
- パスワード
を入力してSign up for GitHub
をクリックします。
その後無料or有料を選び、メールアドレスを認証すれば登録は完了です。
個人で使うのであれば、まずは無料でOKだと思います。 ちなみに有料にすると、アップしたコードを非公開にもすることができます。
もしアカウントをすでに会社で作成されている、などといった場合は、Sign In
を押してログインしてみましょう。
新規登録orログインが全て完了すると、このような画面が表示されます。
ターミナルの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」を開きます。
左側にある「SSH and GPG keys」をクリックします。
「New SSH key」をクリックして新しいSSH鍵を追加します。
- Title:ここはなんでもいいです。どのPCにある公開鍵かわかるようにしておくのがおすすめです。
- Key:コピーしてきた公開鍵を貼り付けます。
入力が完了したら「Add SSH key」をクリックします。
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をターミナルで使う準備は完了です! おつかれさまでした!
次回記事では、 「コマンドでのリポジトリクローンから初めてのプルリクまで」を解説していく予定です!