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

はじめに

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

インストール方法

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

macOS の場合、Xcode や Command line tools をインストールすると git は自動的に設定される。特に新規で行う必要はない

公開鍵/秘密鍵の作成

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

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

% 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:CiaQuBPQMSvro6XzhUK4VRvyF1cS9MeATwQ1y9Dgvdc hkob@BYOD-macOS.local
The key's randomart image is:
+---[RSA 3072]----+
|..o.   .BO*      |
|o..o   ..Bo=     |
|* o o . oo= o    |
|.* + o o  .o .   |
|=.o = . S . . E  |
|o+ + o .   .     |
|ooo . .          |
|o+..             |
|oo.              |
+----[SHA256]-----+

SourceTree のインストール

産技高専の1期生の時には、コマンドラインベースで Git を使っていたが、最近は SourceTree というアプリを使っている。SourceTree は GUI アプリなので、ターミナルの画面からbrew cask でインストールする。brew cask の設定がまだできていない場合には、パッケージ管理ソフトウェアの設定(macOS) - BYOD PC のセッティング(3) - hkob’s blog を事前に実行しておくこと。

% brew cask install sourcetree

表示される説明を見ると「stree」というコマンドもインストールされていることがわかる。そこで、そのままターミナルにて stree を実行してみる。

% stree

すると画面に次のような警告が表示される。

f:id:hkob:20200407102929p:plain
SourceTree の警告

macOS Catalina からは、かなりアプリの認証が厳しくなっている。いずれアプリ開発者の方で対応があると思うが、次のような対応で起動する。まず、「Finder に表示」をクリックする。その後、右ボタンで「開く」を選択する。

f:id:hkob:20200407103247p:plain
右ボタンで「開く」を選択

こうすると先ほどと異なり、「開く」が押せるようになる。

f:id:hkob:20200407103414p:plain
SourceTree の警告(「開く」が追加)

実行するとアプリが起動する。Bitbucket を授業で利用するので、ここでアカウントを作成しておく。そこで、「今すぐ無料アカウントを作成しましょう!」をクリックする。

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

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

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

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

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

公開鍵の Bitbucket への登録

(4/10追加)

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

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

    f:id:hkob:20200410090731p:plain
    Bitbucket settings

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

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

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

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

    f:id:hkob:20200410092001p: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