📘 hkob-astro-notion-blog

これまではてなブログにて情報発信をしていましたが、令和5年3月22日より、こちらでの情報発信を始めました。2019年以前の古い記事は過去の Middleman 時代のものなので、情報が古いです。記録のためだけに残しています。

SourceTree による Git リポジトリの管理 - 産技高専における Windows 環境の構築(5)

💡
この記事は Middleman 時代に書いた古いものです。記録のため、astro-notion-blog に移行していますが、あまり参考にしないでください。
SourceTree の公開鍵設定

電気電子工学コースでは、Bitbucket のアカウントを作成し、Git を使ったペアプログラミング、チームプログラミングに活用している。 また、卒業研究などにおいてもプロジェクト遂行や論文執筆のために、Git は多く活躍している。 Git のクライアントとしては、Bitbucket を運用している Atlassian が配布している SourceTree が有名である。 本学では、Bitbucket とのやり取りに公開鍵暗号方式を用いるため、使い始めにあたって公開鍵の設定が必要である。 macOS は SourceTree をインストールするだけで、簡単に使い始められる。 一方、Windows 版はちょっと面倒な作業が必要となるので、ここで説明しておく。 以下、手順を示す。

  1. とりあえず  📄 Windows のパッケージマネージャーの設定(リベンジ) - 産技高専における Windows 環境の構築(4) にて、SourceTree はインストールされているものとする。
  2. 私の環境では、デスクトップやウインドウメニューに SourceTree が見つからなかった。 色々探したところ、C:\Program Files (x86)\Atlassian\Sourcetree の下に、SourceTree アイコンがあることを確認した。
  3. 毎回ここを探し出すのは面倒なので、私はタスクバーにピン止めをしてしまった。
  4. アプリを起動すると「Registration」の画面になる。 学生の場合は、すでに Mac 室にてアカウントを作成しているはずなので、Bitbucket を押して Registration を開始する。
  5. macOS の場合には、アプリ内にシームレスにブラウザを用意できるのだが、Windows の場合には別にブラウザを起動する必要がある。 図のような選択肢が出てくるので、Microsoft Edge を使ってみる。
  6. ブラウザが開くので、必要であればログインする。ここではすでにログインしていたので、以下のような確認画面が表示された。 ここで、「アクセスを許可する」をクリックする。
  7. 「登録が完了しました」となるので、「次へ」をクリックする。
  8. tool の選択画面が出るのだが、何故か私の環境では Git のチェックマークが設定できなかった。 仕方ないので、あとで別にインストールすることにする。 とりあえず「詳細オプション」を開き、「改行の自動処理を設定する(推奨)」と「Configure Global Ingore」を設定しておく。 前者は、Windows の改行が「CR(0x0d)+LF(0x0a)」であるのに対し、Linux や macOS などのその他の環境では「LF(0x0a)」であるためである。 Windows の多くのアプリでは、Windows 式の改行を必要とするものがあるので、Git の pull, pull の際にテキストを書き換えるようにする。
  9. 最後にユーザ名とメールアドレスを設定する画面になるので、登録しておく。
  10. SSH キーの読み込み確認があるが、まだ作成していないので、「いいえ」をクリックする
  11. Putty Key Generator が立ち上がるので、Generate をクリックする。
  12. マウスの動きを乱数の初期値として、公開鍵と秘密鍵を作成するので、画面上でマウスを動かし続けておく。
  13. 作成された公開鍵が表示される。Key passphase は秘密鍵を解くためのパスフレーズである。 個人のマシンを他人に使われる心配がなければ、空のままにしておくこともできる。 気になる人はパスフレーズを設定してほしい。 また、今後のためにこの公開鍵と秘密鍵は内部に保存しておく。 Save public key で公開鍵を保存しておく。ファイル名は macOS で作ったのと同じように id_rsa.pub としておく。 場所は特に指定しなければ SourceTree のフォルダに作られるようである。
  14. 次に Private key を保存する。もしパスフレーズを設定していない場合には次のような警告がでる。 その後、id_rsa.ppk という名前で保存する。
  15. 次に公開鍵を Bitbucket のサイトに登録する。そのためにブラウザで Bitbucket にアクセスし、ログインする。その後、左下の自分のアイコンをクリックし、「Bitbucket Settings」をクリックする。
  16. セキュリティのところにある「SSH鍵」をクリックする。
  17. これまでに登録された SSH 鍵が表示される(少なくとも Mac 室の鍵が登録されているはず)。先ほど作成した公開鍵を登録するため「鍵を追加」ボタンをクリックする。
  18. Label には Windows の名前を記載する。そして下の部分に公開鍵を記入する欄である。公開鍵は先ほどの Putty Key Generator からコピーする。
  19. コピーするのは、上の「Public key for pasting into OpenSSH authorized keys file」に書かれた「ssh-rsa」から始まるテキストである。 この部分をコピーしたら、先ほどの Bitbucket のサイトに貼り付けて「鍵を追加」とする。
  20. 今後、SourceTree を起動すると、pageant という ssh のクライアントが自動的に起動する。 ただし、この場合秘密鍵を毎回読み込まなければならない。 非常に面倒なので、起動時に自動的に pageant を秘密鍵を読み込み済みで起動させるように設定する。 まず、Sourcetree/tools/putty にある pageant を表示する。
  21. 起動時にアプリを立ち上げるためには、スタートアップにショートカットを登録する必要がある。 Windows 10 の場合には、以下のように作業する。 まず、Windows ボタンで右ボタンを押して、「ファイル名を指定して実行」をクリックする。
  22. ウィンドウが出たら「shell:startup」とタイプする。
  23. 次に pageant の実行ファイルをコピーする。
  24. 次にスタートアップフオルダで右ボタンを押し、「ショートカットの貼り付け」を選択する。
  25. 起動時に秘密鍵を読み込むように設定したショートカットの設定を変更する。
  26. この状態だとリンク先に「"C:\Program Files (x86)\Atlassian\Sourcetree\tools\putty\pageant.exe"」となっているはずである。 ここに Sourcetree フォルダの下に保存した id_rsa.ppk という引数を追加する。 Sourcetree までは共通なので、リンク先の「"C:\Program Files (x86)\Atlassian\Sourcetree\」までをコピーする。 その後、「/pageant.exe"」の後ろにスペースを追加したのち、貼り付ける。 さらに「id_rsa.ppk"」と記入する。 最終的には以下のように「"C:\Program Files (x86)\Atlassian\Sourcetree\tools\putty\pageant.exe" "C:\Program Files (x86)\Atlassian\Sourcetree\id_rsa.ppk"」となる。 問題がなければOk を押して、OS を再起動してみる。
  27. 再起動しログインしたあとで、タクスバーの常駐アプリを確認する。下の図のオレンジ色の丸で囲ったものが pageant である。
  28. 実際に Key が読み込まれているのかを確認するために、pageant の上で右ボタンを押し View Keys で確認してみる。
  29. Key list が表示されるので、キーが読み込まれていることを確認する。
既存のリポジトリをクローン

ここで例として Bitbucket にある 電気電子工学コースの実験実習レポートスタイルファイルのリポジトリ をクローンしてみる。

  1. リポジトリにアクセスし、右上に「クローンの作成」をクリックする。
  2. 右上のプルダウンを「SSH」に設定し、「git clone git@bucket.org:hkob/eee.git」となることを確認する。 macOS や Linux であればこのコマンドを実行するが、今回は SourceTree でクローンを行うので、 下にある「Clone in Sourcetree」をクリックする。
  3. アプリケーションの切り替えのダイアログが出るので、「はい」をクリックする。
  4. クローンの画面が出てきたが、リポジトリが正しくないと表示されてしまった。 そこで、ツールメニューのオプションを開いてみる。
  5. オプションの「Git」を開いてみると Git サポートは無効になっている。ただし、インストール時に Git がインストールできなかったので、Chocolatey で git をインストールしておこう。 SourceTree 内部に Git をダウンロードすることもできるのだが、今後コマンドラインで git を使いたい時もあるので、システム側でインストールしておいた方が便利だと思う。
  6. git のインストールは PowerShell から cinst でできる。面倒なので --yes のオプションも付けておく。
    PS C:\Windows\system32> cinst git --yes
    
    Chocolatey v0.10.13
    Installing the following packages:
    git
    By installing you accept licenses for the packages.
    Progress: Downloading git.install 2.21.0... 100%
    Progress: Downloading git 2.21.0... 100%
    
    git.install v2.21.0 [Approved]
    git.install package files install completed. Performing other installation steps.
    Using Git LFS
    Installing 64-bit git.install...
    git.install has been installed.
    git.install installed to 'C:\Program Files\Git'
    git.install can be automatically uninstalled.
    Environment Vars (like PATH) have changed. Close/reopen your shell to
    see the changes (or in powershell/cmd.exe just type refreshenv ).
    The install of git.install was successful.
    Software installed to 'C:\Program Files\Git'
    
    git v2.21.0 [Approved]
    git package files install completed. Performing other installation steps.
    The install of git was successful.
    Software install location not explicitly set, could be in package or
    default install location if installer.
    
    Chocolatey installed 2/2 packages.
    See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
  7. 再度、オプションで「Git サポートを有効化」としてみると以下のようになった。 下の方にスクロールすると Git はシステムのものを利用している旨が表示されている。
  8. 再度、Clone in SourceTree をしてみると、次のような警告が出て、処理が中断される。 これは、初めて Bitbucket にアクセスしたので、Bitbucket のキーを受け入れていいかという確認である。 ここで「はい」としておけば、システムにキーが保存され、処理を継続できる。
  9. Bitbucket の Server key が取得されたことが表示される。 プロセスを再起動する必要があるとのことなので、再度 Clone in Sourcetree をやり直してみる。 もし、それでもダメな場合には、Pageant も再起動した方がよいかもしれない。 ただし、Pageant の再起動時にプライベートキーは読み込まれないので、手動で読み込む必要がある(プライベートキーはシステム起動時に読み込むように設定してあるので、面倒な人はシステムを再起動すればよい)。
  10. この結果、「これは Git リポジトリです」と出れば、Git の設定はちゃんとできていることになる。 最後に「クローン」ボタンを押せば、自分の PC にリポジトリがクローンできるはずである。
  11. クローン中はこんなダイアログ画面が表示される。
  12. クローンが終了すると、リポジトリが表示される。