はじめに
電気電子工学コースでは、ペアプログラミングやチームプログラミングを実施しています。 このため、ソース共有が必須となります。 また、個人でファイルを管理している際にバージョン管理の意識を持つことは重要です。 そこで、何よりもまずリポジトリ管理について学んでもらっています。 ここでは、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」をクリックするとブラウザが開きます。
ここから先は未設定のメールアドレスがないとスクリーンショットが取れないので、個人で頑張ってください。
認証が終わると次のような登録完了画面になるので、次へをクリックします。 次にツールのインストール画面になりますが、すでに Git はインストール済なので何もせず「次へ」をクリックします。
次の画面ではグローバル作成者を設定します。 リポジトリに名前が出るのでニックネームのようなものは避け、本人が確認できる名前にしてください(授業評価の際に名寄せをするため、変な名前にななっているとかなり苦労するためです)。
次に公開鍵/秘密鍵の読み込みが行われますが、まだ作成していないので「いいえ」をクリックします。
公開鍵/秘密鍵の作成
(2022/5/6 修正) PuTTy の公開鍵設定で失敗する人が多かったので、ssh-keygen でのやり方を記載しておきます。
まず、PowerShell を自分の権限(管理者ではない)で起動します。ここで、「ssh-keygen.exe」を実行します。最初に保存場所を聞かれるので、そのままエンターを押します。次にこの鍵を使うためのパスフレーズを入力します。パスフレーズを設定しない場合は、単にエンターとしてください。パスフレーズを設定した場合には、確認のためもう一度タイプするように聞かれます。なお、この時、パスフレーズは画面に出てこないので注意してください。実行するとこんな画面になります。
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 の場合にはエージェントは起動する必要がないので、チェックはできないようになっています。
先ほどの画面でパスフレーズを設定した場合には、パスフレーズを設定するように促されます。
次に SSH の公開鍵/秘密鍵を作成します。
まず、先ほど起動した SourceTree のツールメニューから「SSH キーの作成/インポート」をクリックします。
PuTTY Key Generator が立ち上がるので、真ん中あたりの「Generate」をクリックします。乱数生成のために、マウスカーソルを動かすように表示されるので、その指示に従ってください。
生成が終わると作成されたキーが表示されます。
ここで実施する作業は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 エージェント起動の確認
SSH キーの設定を行ないましたが、すでに SourceTree を起動時に無設定の SSH エージェントが起動してしまっています。
そのため、最初にこの起動してしまったエージェントを終了します。
まず、右下の「∧」(赤丸部分)をクリックし、PCアイコン(橙色丸部分)で右ボタンを押し、ポップアップされた「Exit」をクリックします。
その後、SourceTree を終了し、再度 SourceTree を起動します。
そして、再度上記の手順で表示されたエージェントのポップアップにおいて、「View Keys」をクリックします。
この時、「Pagent key list」に設定されたキーの表示がされていれば設定完了です。
公開鍵の Bitbucket への登録
公開鍵の登録方法は機種ごとにだいぶ異なるので、こちらに記載することにしました。 以下の手順に従い Bitbucket に公開鍵を登録してください。 まず、Bitbucketにログインし、左下の自分のアイコンをクリックし、Personal settings をクリックします。
セッティング画面が開いたら、セキュリティのところにある「SSH鍵」をクリックします。
SSH の画面が出てきたら、「鍵を追加」をクリックします。
- SSH 鍵を追加という画面が出るので、「Label」の部分にマシンがわかる名前を記入する。
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 .
- id_rsa.pub を開いて ctrl-a、ctrl-c として全体をコピーします。
- 先ほどの Bitbucket の画面で「Key」の部分をクリックし、「Ctrl-V」(または右ボタンでペースト)をして、公開鍵の内容を貼り付けます。Ctrl-V もよく使うので覚えておいてください。
- 最後に「鍵を追加」として保存します。PC を追加で登録したり、iPad などを別途接続したいというときなどには、それぞれのマシンごとに公開鍵を登録してください。
ここから先の使い方は授業資料で説明します。