今回は前回修正したソースファイルをリポジトリに登録します。
まずローカルリポジトリの更新ですが、まず変更したソースファイルをステージングエリアに追加します。Visual Studio の枝分かれアイコンでソース管理サイドバーを表示し、変更されたファイルリストの中の ellipse.ts にマウスを乗せるとメニューが表示されます。その中の+マーク「変更のステージング」をクリックします。すると下図のようにステージングエリアが「ステージング済みの変更」として表示されます。
このとき左下の小さな枝分かれアイコンの右側が blog となっていることに注意してください。第5回のときに作ったブランチです。後でリモートのリポジトリを更新するときに master 直接更新するのではなく、別のブランチにしておいて変更箇所のレビュー後に承認してもらうためです。
今回全部で7個の変更ファイルが表示されています。この中で実際に直したのは ellipse.ts と launch.json(「Launch Chrome」のデバッグオプションを追加するため)だったので、この2つのみ更新します。変更の理由が別の場合、記録上分けたほうがいいので、まずは ellipse.ts のみ登録します。ローカルリポジトリを書き換えるにはステージングされたファイルに対してコミットします。そのときメッセージを残すことができます。
上図の「Message (press Ctrl+Enter to commit)」と書いてある入力欄に変更理由を書き込みます。今回は Small Basic Desktop との差異があるということで「parity #1 fix」と書いておきます。#1 は issue (イシュー:問題点)番号で、リモートリポジトリにあらかじめ登録しておいた issue の番号です。そして、Ctrl+Enter を押します。これでコミットが完了し、ステージング済みの変更欄が消えます。同様に launch.json も「added Launch Chrome」というメッセージとともにコミットします。
これでローカルリポジトリの更新が終わったので、今度はそれをリモートリポジトリに反映します。ソース管理サイドバーの右上に「…」と書かれたメニューがあるのでクリックし「プッシュ先」を選びます。「リモートを選んで、ブランチ ‘blog’ を次に公開します:」と出るので、「origin https://github.com/nonkit/SmallBasic-Online.git/」をクリックします。GitHub の Username と Password を聞いてくるので入力します。これでローカルリポジトリの変更がリモートリポジトリにプッシュされました。
GitHub のリモートリポジトリをブラウザで表示すると、下図のように「Your recently pushed branches:」としてブランチ blog が表示されます。
その右側にある緑の [Compare & pull request] というボタンを押してみます。すると blog というブランチの内容を master に反映する プルリクエストを作成することができます。デフォルトでは反映先は私が作ったリモートリポジトリではなく、フォーク元のオリジナルのリモートリポジトリになっています。この設定は変更することができますが、今回はフォーク元の開発が中止になってしまったので、これ以上は進めないことにします。
またこの画面の下のほうには変更箇所が色付きで示されています。緑の部分が追加した行、ピンクの部分が削除した行になります。
その上にはローカルリポジトリへのコミットの履歴が表示されます。「parity #1 fix」の「#1」というところにマウスを置くと、「#1, Add infrastructure for building/testing/publishing the application.」と表示されます。実はこれはフォーク元の sb/SmallBasic-Online の issue 番号で、私は自分のリモートリポジトリ nonkit/SmallBasic-Online の issue 番号のつもりで書いたものです。これは混乱の元になるので、本来フォーク先には Issues は利用せず、フォーク元の Issues に直接書いたほうがいいでしょう。今回はフォーク元がクローズしていたので仕方がありませんでした。
これで、一連の作業について一通りの説明が終わりました。最後に今回の取り組みについてまとめる予定です。
(つづく)