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

はじめに

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

インストール方法

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

Windows では Git 環境はインストールされないので、個人的にインストールが必要となるため、前述の chocolatey でインストールします。 choco.config の置いてあるフォルダで右ボタンを押して、「code を開く」とします。 次に、以下の文を choco.config の <packages></packages>の間に追加します。

  <package id="git" />

vscode 上でターミナルを開き、前回同様以下のコマンドを実行します。

Start-Process -Verb runas cinst choco.config

SourceTree のインストール

macOS 版では次に公開鍵/秘密鍵の設定を行いますが、Windows では SourceTree の中で実施するため先に SourceTree をインストールします。 こちらも、git 同様に choco でインストールします。パッケージ名は sourcetree なので以下の行を同じように追加します。

  <package id="sourcetree" />

今回のインストールでは、複数のファイルが依存関係でインストールされるので、「Yes」ではなく「All」とタイプするとよいです。

インストールが終わると、デスクトップに「SourceTree」へのショートカットが表示されます。

SourceTree の初期設定

SourceTree を起動すると、macOS と同様に Bitbucket アカウント確認画面が開きます。 ここで注意してほしいのは必ず学校のアカウント「mXXXXX@g.metro-cit.ac.jp」で登録する点です。 Bitbucket はアカデミックの特典があり、アカデミックアカウントの場合にはグループ人数の制約がなくなります。 4 年生のチームプログラミングでは私を含めると5人以上のチームになる可能性もあるため、必ず学校のメールアドレスで作成してください。 マウスカーソルで示した「Create one for free」をクリックするとブラウザが開きます。

SouceTree の起動画面

ここから先は未設定のメールアドレスがないとスクリーンショットが取れないので、個人で頑張ってください。

Bitbucket アカウント作成

認証が終わると次のような登録完了画面になるので、次へをクリックします。

登録完了画面
次にツールのインストール画面になりますが、すでに Git はインストール済なので何もせず「次へ」をクリックします。
ツールのインストール画面

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

個人名とメールアドレスの設定

次に公開鍵/秘密鍵の読み込みが行われますが、まだ作成していないので「いいえ」をクリックします。

SSH キーの読み込み

公開鍵/秘密鍵の作成

(2022/5/6 修正) PuTTy の公開鍵設定で失敗する人が多かったので、ssh-keygen でのやり方を記載しておきます。

まず、PowerShell を自分の権限(管理者ではない)で起動します。ここで、「ssh-keygen.exe」を実行します。最初に保存場所を聞かれるので、そのままエンターを押します。次にこの鍵を使うためのパスフレーズを入力します。パスフレーズを設定しない場合は、単にエンターとしてください。パスフレーズを設定した場合には、確認のためもう一度タイプするように聞かれます。なお、この時、パスフレーズは画面に出てこないので注意してください。実行するとこんな画面になります。

ssh-keygen

dir で確認すると、id_rsa (秘密鍵)と id_rsa.pub (公開鍵) の二つが作成されていることを確認できます。

dir ~/.ssh
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2022/05/06      8:29           2655 id_rsa
-a----        2022/05/06      8:29            575 id_rsa.pub

次に SourceTree のツール -> オプションを表示して、SSH クライアントを OpenSSH に変更します。なお、OpenSSH の場合にはエージェントは起動する必要がないので、チェックはできないようになっています。

openssh に変更

先ほどの画面でパスフレーズを設定した場合には、パスフレーズを設定するように促されます。

パスフレーズの入力

次に SSH の公開鍵/秘密鍵を作成します。 まず、先ほど起動した SourceTree のツールメニューから「SSH キーの作成/インポート」をクリックします。

SourceTree メニュー
PuTTY Key Generator が立ち上がるので、真ん中あたりの「Generate」をクリックします。乱数生成のために、マウスカーソルを動かすように表示されるので、その指示に従ってください。
Putty Key Generator

生成が終わると作成されたキーが表示されます。 ここで実施する作業は2つです。 一つ目は公開鍵の保存です。 下にある「Save public key」をクリックし、「id_rsa.pub」などとして保存します。 保存場所は自分のドキュメントフォルダの下に「ssh_key」のようなフォルダを作ってそこに置いておくとよいです。

公開鍵の保存

二つ目は秘密鍵の保存です。 同様に「Save private key」をクリックします。 すると次のようなパスフレーズの確認が入る。今回は「はい」を選択する。セキュリティを気にする場合にはパスフレーズを設定してもよいが学生の課題程度であればパスフレーズは省略してもよいと思う。設定した場合には、エージェント起動時に毎回パスフレーズが求められるようになる。

パスフレーズの確認

はいを押すと先ほどと同様に保存画面が現れるので、「id_rsa」と入れて保存する(自動的にppkという拡張子が付く)。

秘密鍵の保存

Putty Key Generator は後で使うのでそのままにしておき、SourceTree の方に戻ります。 先ほど作成した秘密鍵を SourceTree に登録するためです。 まず、SourceTree の「ツール」メニューの「オプション」をクリックします。 中段の「SSH クライアントの設定」の SSH キーの右にある「...」をクリックし、先ほど保存した「id_rsa.ppk」を選択する。その下の部分に「SourceTree 起動時に SSH エージェントを起動します」にチェックが入っていることも確認する(デフォルトで入っているはず)。最後に「OK」を押して設定を完了する。

オプションにおける「SSH key」の設定

SSH エージェント起動の確認

SSH キーの設定を行ないましたが、すでに SourceTree を起動時に無設定の SSH エージェントが起動してしまっています。 そのため、最初にこの起動してしまったエージェントを終了します。 まず、右下の「∧」(赤丸部分)をクリックし、PCアイコン(橙色丸部分)で右ボタンを押し、ポップアップされた「Exit」をクリックします。

エージェント起動の確認

その後、SourceTree を終了し、再度 SourceTree を起動します。 そして、再度上記の手順で表示されたエージェントのポップアップにおいて、「View Keys」をクリックします。 この時、「Pagent key list」に設定されたキーの表示がされていれば設定完了です。

Pagent key list

公開鍵の Bitbucket への登録

公開鍵の登録方法は機種ごとにだいぶ異なるので、こちらに記載することにしました。 以下の手順に従い Bitbucket に公開鍵を登録してください。 まず、Bitbucketにログインし、左下の自分のアイコンをクリックし、Personal settings をクリックします。

Personal settings

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

    SSH鍵

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

  3. SSH 鍵を追加という画面が出るので、「Label」の部分にマシンがわかる名前を記入する。
    SSH 鍵を追加

1. PuTTY Key Generator がまだ起動中であれば、「Public key for pasting into OpenSSH authorized keys file」の ssh-rsa から始まる文字列(上の緑色で隠している枠の中の文字列全部)をコピーします。もし、Putty Key Generator を終了してしまった人は、再度 SourceTree の「ツール」「SSHキーの作成/インポート」から作成済のキーを「Load」ボタンを押して読み込めばよいです。 1. OpenSSH の場合には、~/.ssh/id_rsa.pub が鍵になります。このファイルをエディタでコピーしてください。手順としては以下のようになります。 1. PowerShell を開き、以下のコマンドをタイプします。

cd ~/.ssh
code .
  1. id_rsa.pub を開いて ctrl-a、ctrl-c として全体をコピーします。
  2. 先ほどの Bitbucket の画面で「Key」の部分をクリックし、「Ctrl-V」(または右ボタンでペースト)をして、公開鍵の内容を貼り付けます。Ctrl-V もよく使うので覚えておいてください。
  3. 最後に「鍵を追加」として保存します。PC を追加で登録したり、iPad などを別途接続したいというときなどには、それぞれのマシンごとに公開鍵を登録してください。

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


hkob.hatenablog.com