2021-m6 : Git 環境の設定(macOS) : BYOD PC のセッティング

はじめに

電気電子工学コースでは、ペアプログラミングやチームプログラミングを実施しています。 このため、ソース共有が必須となります。 また、個人でファイルを管理している際にバージョン管理の意識を持つことは重要です。 そこで、何よりもまずリポジトリ管理について学んでもらっています。 ここでは、Git の設定方法のみ実施し、実際の使い方は授業資料の方で解説します。

インストール方法

git コマンドのインストール

macOS の場合、Xcode や Command line tools をインストールすると git は自動的に設定されます。 そのため、特に新規で行う必要はありません。

公開鍵/秘密鍵の作成

授業で利用する Bitbucket サーバとのやり取りは ssh という暗号化通信にて実施します。 そのための認証は公開鍵暗号を用います。 macOS の場合には、「ssh-keygen」というコマンドを使うことで公開鍵/秘密鍵を作成できます。 鍵を利用する時に通常はパスフレーズを設定するのだが、学生が授業で利用する程度であればパスフレーズを省略しても構わないと思います(どうしても気になる人は Enter passphrase のところで設定してください。 ちなみに私は設定しています)。

ssh-keygen を実行後、鍵の名前、パスフレーズ、パスフレーズの再入力が求められますが、何も気にしないで三回リターンキーを押していいです(パスフレーズを設定したい人はここで設定してください)。 この結果、自分のホームフォルダの下の .ssh 内に id_rsa という秘密鍵と id_rsa.pub という公開鍵が作成されます。 公開鍵暗号では、公開鍵を相手に渡し、秘密鍵で暗号したものが公開鍵で解析できることを確認することで認証を行っています。 このため、今後この公開鍵をサーバなどに設定する作業が発生します。 なお、BYOD 設定用のマシンとはいえ、セキュリティのため、ここで晒したキーはすでに廃棄済(再作成済)です。

hkob@BYOD-macOS ~ % ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hkob/.ssh/id_rsa): 
Created directory '/Users/hkob/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/hkob/.ssh/id_rsa.
Your public key has been saved in /Users/hkob/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xhIq+05+A1fMB+rD4QXQwm+0J++z+fHmZgaf6mpapV0 hkob@BYOD-macOS.local
The key's randomart image is:
+---[RSA 3072]----+
|   ..o           |
|    o + .        |
|     +.* .       |
|     .Bo* .      |
|  . .=.BS.. E    |
|   o. *o.+..     |
|  . .o oo oo .   |
|   +  o.+. oB    |
|   .+..++*+Bo    |
+----[SHA256]-----+
hkob@BYOD-macOS ~ % 

SourceTree のインストール

産技高専の1期生の時には、コマンドラインベースで Git を使っていました。しかし、流石に大変なので最近は SourceTree というアプリを使っています。 SourceTree は GUI アプリなので、cask でインストールします。 Brewfile に以下の行を追加して、brew bundle -v をしてインストールしてください。 そろそろ慣れた頃なので、今後はこの説明は省略します。

cask "SourceTree"

インストールされた SourceTree を起動します。 Bitbucket を授業で利用するので、ここでアカウントを作成しておきます。 そこで、「今すぐ無料アカウントを作成しましょう!」をクリックします。

f:id:hkob:20200407103833p:plain
SourceTree の起動画面

クリックするとブラウザが起動し、アカウント作成画面になります。 ここで注意してほしいのは必ず学校のアカウント「mXXXXX@g.metro-cit.ac.jp」で登録する点です。 Bitbucket はアカデミックの特典があり、アカデミックアカウントの場合にはグループ人数の制約がなくなります。 4 年生のチームプログラミングでは私を含めると5人以上のチームになる可能性もあるため、必ず学校のメールアドレスで作成してください。 ここから先は未設定のメールアドレスがないとスクリーンショットが取れないので、個人で頑張ってください。

f:id:hkob:20210406151502p:plain
Bitbucket アカウント作成

次のアカウントの画面ではグローバル作成者の画面が出ます。リポジトリに名前が出るのでニックネームのようなものは避け、本人が確認できる名前にして欲しい(授業評価の際に名寄せをするため、変な名前にななっているとかなり苦労するためです)。

f:id:hkob:20210406152001p:plain
Git のグローバル作成者の設定

公開鍵の Bitbucket への登録

公開鍵の登録方法は機種ごとにだいぶ異なるので、こちらに記載することにします。 以下の手順に従い Bitbucket に公開鍵を登録してください。 以下、箇条書きで説明します。

  1. まず、Bitbucketにログインし、左下の自分のアイコンをクリックし、Personal settings をクリックします。

    f:id:hkob:20210406152407p:plain
    Personal settings

  2. セッティング画面が開いたら、セキュリティのところにある「SSH鍵」をクリックします。

    f:id:hkob:20210406152603p:plain
    SSH鍵

  3. SSH の画面が出てきたら、「鍵を追加」をクリックします。

  4. SSH 鍵を追加という画面が出るので、「Label」の部分にマシンがわかる名前を記入します。 その後、「既にキーを持っていますか?」のところに書かれた、「cat ~/.ssh/id_rsa.pub | pbcopy」までをコピーします。

    f:id:hkob:20210406152936p:plain
    SSH鍵を追加

  5. 「ターミナル」または「iTerm」(インストールしていれば)を開き、コピーしたコマンドをペーストし実行します。 実行しても特に画面には何も出ません。 なお、このコマンドの意味は ~/.ssh に保存した id_rsa.pub を標準出力に出し、それをパイプ「|」で pbcopy というコマンドに送るというものです。 pbcopy は標準出力の内容を macOS のクリップボードに書き込むコマンドである。 結果として、id_rsa.pub のテキストの内容がクリップボードに保存されることになります。 UNIX 系のコマンドはこんな感じで、前のプログラムの結果をパイプで数珠つなぎに渡していく処理をよく使うので覚えておいてください。

  6. 先ほどの Bitbucket の画面で「Key」の部分をクリックし、「Command-V」(または右ボタンでペースト)をして、id_rsa.pub の内容を貼り付けます。なお、Command-V もよく使うので覚えておいてください。
  7. 最後に「鍵を追加」として保存します。PC を追加で登録したり、iPad などを接続したいというときなどには、それぞれのマシンごとに公開鍵を登録してください。

ここから先の使い方は授業資料で説明します。


hkob.hatenablog.com