ハンズオン当日までに以下の設定をお願いします!
分からないことがあれば気軽に聞いてください!!
まずは、GitHubにアクセスします。
ユーザーネーム、メールアドレス、パスワードなどの必要事項を入力し、アカウントを作成します。
https://github.com/[自分のユーザーネーム] へアクセスして以下の画像のように自身のページが表示されたら完了です!
(表示はいじっているので少し違います)
以下のコマンドを実行
$ brew install git
公式サイトからインストーラーをダウンロードします。
ダウンロードしたインンストーラーを実行します。
特にこだわりがない場合には、すべて「Next」を押す問題なくインストールできます。
※何をしているのか詳しく知りたい場合には、こちらを参考にしてください。
以下のコマンドを実行
$ sudo apt-get install git
以下のコマンドを実行
$ sudo apt-get install git
以下のコマンドを実行し、バージョンが表示されれば完了です!
$ git --version
先ほど作成した GitHub のアカウントと Git を紐付けます!
以下のコマンドを実行してください。
([]で書かれている部分を自身の情報に修正してから実行してください。)
$ git config --global user.name [設定したユーザーネーム]
$ git config --global user.email [設定したメールアドレス]
以下のコマンドを実行して正しく設定されているか確認できれば OK です!
$ cat ~/.gitconfig
----------------------------------------
[user]
name = take-cantik
email = take.cantik17@gmail.com
これはやってもやらなくてもいいものなので、本人にお任せします!
コミットログを書くときに Ubuntu のデフォルトだと nano に設定されてしまうので、これを Vim に修正します。
(Vim なのは個人的に好きなだけなので、別のものでも構いません)
Vimにしておくと、何かあった時に自分が対応しやすいです。
以下のコマンドを実行します。
$ git config --global core.editor 'vim -c "set fenc=utf-8"'
GitHub 上のリモートリポジトリに接続するときに、通常 HTTPS と SSH の2種類の接続方法があります。
GitHub 公式では HTTPS を推奨しています。
それぞれの違いとしては以下の通りです。
- GitHub の公式が推奨している
- ユーザーネーム、個人アクセストークンのみで認証できるので、どのデバイスからでもアクセスが可能
- HTTPS はすべてのファイアウォールで開かれている
- 毎回認証が必要(キャッシュを使えばその限りではない)
- 暗号化通信のため情報が漏れない
- 初回設定が面倒だが、毎度の認証が不要
- デバイス内のアクセス可能な場所に鍵のファイルが保存される
- 鍵が存在するデバイスでしかアクセスができない
個人的には SSH 推しですが、基本的にはどちらでも構いませんし(多分)、
私は、デバイスなどにによって変えています。
どちらかを選んで以下の手順で設定してください!
2020 年 7 月に GitHub 公式が認証の際にパスワードではなく、個人アクセストークンを使用するということになりました。
ここでは、個人アクセストークンの発行方法、トークンをメモリに保存する方法を説明していきます。
まずは、個人アクセストークンを発行します。
設定の Developer settings のタブへアクセスします。
「Personal access tokens」のタブ(1)から「Tokens」を選択し(2)、
「Generate new token」(3)から「Generate new token (classic)」を選択します。(4)
フォームに必要な情報を入力していきます。
- Note にはこのトークンが何のためのものかを入力します。
"HTTPS 接続用" とかで大丈夫です。 - Expiration にはトークンの有効期限を設定します。
セキュリティの問題がありますので無期限にするのはお勧めしません。 - Select scopes ではトークンのアクセス権限を設定します。 今回は「repo」にチェックが入っていれば OK です。
ここまで入力が終わったら一番下の「Generate token」を押してトークンを作成します。
確定すると、以下の画像のようにトークンが表示されます。
このトークンは画面を移動すると二度と見れなくなるので、このタイミングで必ず保管しておきます。
以降はリモートリポジトリとの通信の際にパスワードを求められたら、この個人アクセストークンを使用します。
しかし、毎回毎回このトークンを入力するのはとても手間なので、
credential.helper
という認証情報を記録する仕組みを使って入力を省くことができます。
やり方は以下のコマンドを実行するだけです。
$ git config --global credential.helper 'cache --timeout=2592000'
※今回はトークンの有効期限を 30 日にしたので、2592000 秒に設定しています。(timeout オプションはなくてもいいです)
これで完了です!
これを行うと、リモートリポジトリとの通信の時にパスワード入力する手間が省けます。
必ずやることではないですが、やっておくと便利です。
まずは秘密鍵、公開鍵を作成します。
鍵を入れるフォルダに移動します。
$ cd ~/.ssh
次のコマンドで鍵を生成します。
$ ssh-keygen -t rsa
何か聞かれたらエンターを三回押せば id_rsa と id_rsa.pub の2つの鍵が生成されます。
次に公開鍵を GitHub にアップします。
ssh の設定画面から公開鍵の設定ができます。
開いたら画面右上の「New SSH key」を押します。
「title」に公開鍵名、「key」に公開鍵の中身を入れます。
公開鍵の中身については、以下のコマンドで確認することができます。
$ cat id_rsa.pub
これを実行すると公開鍵の中身が出力されるので、内容をすべてコピーします。
コピーが完了したら「key」の欄に貼り付けし(この時スペースなどが入っていないことに注意)、「Add key」を押すとパスワードを求められるので入力します。
接続が完了したか確かめます。以下のコマンドを入力します。
$ ssh -T git@github.com
そして「Hi (ユーザーネーム)! You've successfully authenticated, but GitHub does not provide shell access.」と返ってきたら接続完了です。
ここまで済んだら準備は万端です!
お疲れ様でした!
こちらに講義でよく使う用語の意味をまとめたので、こちらも合わせて見ておくとよりスムーズに進むと思います!
全て理解できなくても全然 OK です!