前回で環境構築&超基本動作までは確認した(※pushやrevertやらはまだ)ので、ここからは実際にArduinoプロジェクトのコードを管理していきます。
リポジトリをどの単位で作るについては、基本的には「いちプロジェクトにつきいちリポジトリ」でOKだと思いますが、小さなサンプルプログラム群は一つのリポジトリでまとめてしまいたい気もします。
というわけで、前者の方が素直なのですが、後者ができれば前者は容易だろうということで、今回は後者の方向で対応していきたいと思います。
GitHub Desktopを開いて、”File”->”Add Logal Repository”。

GitHubで管理したいArduinoプロジェクトのフォルダを選択。

今回は冒頭で述べたとおり、小さいサンプルプログラム群を一つのリポジトリ扱うので、上記の”ATtiny1616″自体はArduinoプロジェクトそのものでなく、この中に3つのプロジェクトフォルダが入っています。
- ATtiny1616_led_blink
- ATtiny1616_NeoPixel
- ATtiny1616_power_save
それから、GitHubで管理したくないフォルダ&ファイルとして、
- /img
- /mov
- ATtiny1616.pptx
も入っています。これらは、ブログ作成用の画像やら動画やらのフォルダ&ファイルになります。
さて、”Add Repository”を押すと、「これはただのディレクトリでGitのリポジトリじゃない」と怒られます。

ということで、”create a repository”を選択。

“Description”は適当に入力。READMEは作ってほしいので、”Initialize this repository with a README”にチェックを入れる。”Initialize”だけど今のフォルダの中身が消えるわけではないので大丈夫。”Git Ignore”は後で自分で設定するので、ここではそのまま。”License”も、今回は公開目的ではないのでそのまま。
“Create Repository”をすると、ローカルリポジトリができました。

元々ローカルにあった”Arduino/ATtiny1616″フォルダの中に、
- /.git
- /.gitattributes
- RADME.md
が新たに作成されました。
続いて、Gitで管理したくないフォルダ/データを明示するための”.gitignore”を作成する…のですが、その前に一個注意点。

こちらが”Create Repository”した直後のGitHub Desktopの”History”タブの表示なのですが、“Initial commit”が勝手に実施済みになっています。そのため、”.gitignore”で管理対象外にするはずだった画像データとかが全部、管理対象として追加済みになってしまっています。
“.gitignore”は最初のCommitの前に作成しておいた方が良いので、これだと困ります。ということで、

“Changes”タブの左下に見えているウィンドウから、”Initial commit”を”Undo”します。

これで、フォルダ内の全ファイルが「addはされていてもcommitはされていない」という状態に戻ります。この状態にしてから、同じフォルダに”.gitignore”を作成します。

文字コードはUTF-8、改行コードはLFで。
“.gitignore”ファイルを作成&保存すると、GitHub Desktop上での”Changes”タブの内容が変化します。

“.gitignore”で記載したフォルダ・ファイルが”Changes”の対象から外れていることがわかります。ここまで確認できたら、左下のウィンドウからCommit。

成功すると、”History”タブから確認できます。

最後に、リモートリポジトリにPublishしておきます。上の”Publish repository”を押します。

プライベート管理したいので、このままPublishでOKです。


WebのGitHub上にリモートリポジトリが追加されていることが確認できました。いつも人が公開しているのを見ているだけだったので、自分のGitHubページがあるのがなかなか新鮮です。
ということで、とりあえずローカルで作ったArduinプロジェクトをGitHubで管理する環境までは作れたので、あとは習うより慣れろ、ということで、使いながら身につけていきたいと思います。

コメント