
世の人たちは、”ヴァージョン管理システムGitはツンデレだ。”という。私も慣れない。一人で作業しているときにGitを使う意味があるのか?使う意味を見つけられなかったが、ようやく一人環境でも役に立つ使い方を見つけた。
ある日、ESP8266にもセキュリティ脆弱性が報告され、Arduino on ESP8266ライブラリの版数があがっていた。Board Manager経由でesp8266の版数をみてみたら、2.6.3まであがっていた。ファームウエアを更新する必要がでてきたらしい。何も更新がなくとも、再度プログラムをロードする必要がでてきた。
ESP8266でBlinkサービスを利用する場合、利用環境に固有のパラメータをソースに埋め込む必要がある。
-Blink token:Blinkサーバに私のアプリを認識させるための情報
-Wifi-ID:ESP8266の接続先情報
-Wifi Password:接続先Wifiを利用する権利を表示する情報
これら情報は、デバイスに特定の情報なので、絶対、セキュリティ上公開してはいけない情報。
かたや、自分が開発したソースをGitHubで公開したい。人に自慢したい。でも、Blink token,Wifi-ID,Wifi Passwordは公開できない。
さて、どうしよう?
自宅環境用とGitHub公開用でソースを二つ持つのはさけたい。ソースは一本で管理したい。
ん?
そこで、Gitか?
そう、Gitのブランチを利用することをひらめいた。
>git init
でgitのリポジトリをディレクトリに作り、
使い慣れたArduino IDEでmasterブランチ上のinoソース上、
Blink token,Wifi-ID,WifiPasswordをリテラルで書いてファイルをセーブ。
>git add .
でgitのインデックスにカレントディレクトリ下の全ファイルを登録。
>git checkout -b hoge
でブランチhogeを作成し、ブランチhogeに切り替え、
hoge環境用のBlink token,Wifi-ID,Wifi Passwordの値でリテラルを書き換え、セーブ。
>git commit
でブランチhoge上のソースをコミット。
>git checkout master
にもどって、inoファイルを開いてみると、
おお、ソースはリテラルのまま。
この間
>git log
>git Status
を使えば、
どのブランチで作業をしているか、更新履歴はキチンと書かれているか、確認できるし、
便利、便利。
ツンデレGitとの距離感を見つけたようだ。
コメントを残す