diff --git a/faq.rst b/faq.rst index 6cea971..8a2e933 100755 --- a/faq.rst +++ b/faq.rst @@ -11,6 +11,14 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ウイルス対策ソフトが、ファイルの書き込みを制限している場合があります。一時的に機能を停止してみましょう。 +(新しいMacOS) Error during build: exec: "python": executable file not found in $PATH +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- 新しいMacOSで、python (python2) が削除されたことによるエラーです。 +- python3 を参照するシンボリックリンクを python という名前で作成することによって、回避できます。 +- 例: ``ln -s -f /usr/local/bin/python3 /usr/local/bin/python`` +- python3 の場所は、``which python3`` で確認してください。 /opt/homebrew/bin/python3 の場合もあります。 + 電源がはいらない ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -21,13 +29,17 @@ プログラムの書き込みができない ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - USB-TypeCの向き(!!)をかえてみましょう。改善する場合があります。 -- 安いUSBケーブルは元々充電しかできない場合があります(この場合、シリアルポートが認識されません)。別のUSBケーブルを使用してください。 +- 安いUSBケーブルは元々充電しかできない場合があります(この場合、シリアルポートが認識されません)。データ送信に対応したUSBケーブルを使用してください。 再起動を繰り返す ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - タスク化した関数を抜ける(終了する)ときに、自タスクを終了していない可能性があります。 - その他、タスクに割り当てるメモリが足りない場合など、メモリ使用の不具合も、再起動を引き起こすことがあります。 +充電されない、バッテリーのエラーがでる +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- BATと3V3の端子を短絡させた状態&USB接続状態で、電源ON→OFFを5〜6度繰り返すと、復活することがあります。 +- https://ryjkmr.com/m5stickc-cannot-charge-bat/ その他、参考サイト ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/git.rst b/git.rst new file mode 100755 index 0000000..c00e3e1 --- /dev/null +++ b/git.rst @@ -0,0 +1,58 @@ +.. _GIT: + +GITによるグループ開発 +============================================================================ + +.. note :: Git を用いると、ファイルの履歴を管理したり、複数人での共同作業がしやすくなります。いろんなやり方がありますが、ここでは最低限度の方法を示します。 + +(誰か1名が実行) PC内にリポジトリ(ローカル)を作成 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. warning :: 以下の例における、OurSketch や xxxUserxxx といった文字列は、サンプルですので、自分たちのケースに合わせてください。 + +- (1) ``arduino-cli sketch new OurSketch`` (OurSketch/OurSketch.ino ファイルを作成) +- (2) ``cd OurSketch`` +- (3) ``git init`` → Initialized empty Git repository in . . . . /OurSketch/.git/ と表示される。履歴管理用の.git フォルダがつくられる。 + + +- (4) ``git add .`` (カレントディレクトリのファイルを管理下に置く) +- (5) ``git commit -am "first commit"`` (ローカルリポジトリにコミット) +- ※このあと、下の6.〜8. を行ったあとで、9. のコマンドを実行する。 (9-1) ``git remote add origin ...`` (9-2) ``git push -u origin master`` + +(誰か1名が実行) サーバ上のリポジトリ(リモート)を作成 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- (6) https://git.istlab.info/ の右上で Sign in +- (7) 右上の + → New repository +- (8) 「Repository name」に、スケッチ名(例では OurSketch) を入力する。「Create an empty repository」を選ぶ。わからないうちは public にしておいたほうが便利。 +- (9) 「Create a new repository from the command line」の5行目と6行目を、(5)を実行したターミナル・カレントディレクトリで実行する。以下はサンプル。xxxUserxxx の部分や、スケッチ名の部分は置き換える。 + - (9-1) ``git remote add origin https://git.istlab.info/git/xxxUserxxx/OurSketch.git`` (ローカルリポジトリの送信先を追加。正しく追加できたかは、``git remote -v`` で確認できる。間違えたら ``git remote remove origin`` としてから、(9-1) をやりなおす。) + - (9-2) ``git push -u origin master`` で、サーバにローカルリポジトリの内容を送信する。 + - ここまでで、既存ファイルを新規リモートリポジトリに追加することができた。https://git.istlab.info/ の自分たちのリポジトリのページに行くか、(9) のWebページを再読み込みして、ファイルが反映されていればOK。 + +(6〜8を行ったユーザが実行) 共同編集者(Collaborators)を追加 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- (10) リモートリポジトリのページ → 左下のSettings → Collaborators タブ +- (11) グループメンバーのアカウント名を入力し、追加する。 +- (12) 右下の 「Apply Changes」 をおす。 +- 権限については、https://gist.github.com/hiroyuki-sato/845df22669bfdf1d621138f826c059d1 を参照してください。Collaborator Admin なら、所有者とほぼ同じ権限で、書き込みできます。 + +(開発に関わる人全員が実行) リモートリポジトリをclone し、自分のPCに置くローカルリポジトリ(自分の開発用フォルダ)を作成する。 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +- (10) リモートリポジトリのページ (例: https://git.istlab.info/git/xxxUserxxx/OurSketch ) に行き、「copy to clipboard」ボタンを押す。 +- (11) 開発用フォルダを置くディレクトリに ``cd`` で移動したあと、``git clone (copyしたURL)`` を実行する。(例: ``git clone https://git.istlab.info/git/miura250/m5stickcplus.git``) +- ここまでで、ようやく共同作業用の開発フォルダが自分のPC内にできた。 + +(開発の注意:同じファイルを同時期に複数人で修正すると高い確率でコンフリクトが起きるので、各人が触るファイルは別途作成するほうがよい。) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- ファイルを追加するとき: たとえば ``OurSketch/miura.ino`` ファイルを新たに作成・保存したとする。これを共有するときは、``git add miura.ino`` としたあと、``git commit -m "作業コメント"`` でまずローカルリポジトリにコミットする。その後、コミットしたリポジトリの状態をリモートリポジトリ(サーバ)に送信するため、``git push`` を行う。 +- ``git commit`` ``git push`` を行ったユーザは、ほかのユーザに、``git pull`` をするように促す。 +- ``git push`` で送信したユーザ **以外** が、``git pull`` を実行すると、追加されたファイルを取得できる。 +- ``git pull`` は、最新のコミットをリモートリポジトリからローカルリポジトリに同期するので、自分が編集をする前に行っておくほうがよい。頻繁に実行しても問題ない。 + +そのほかの方法・参考リンク +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- (ちゃんとした方法)作業用ブランチを切って、Pull Request (プルリクエスト) を送信する方法もあります。 https://qiita.com/takeokunn/items/5bc499121a21f8c5b990 +- (邪道だが小規模少人数なら有効かもしれない方法) リモートリポジトリのWebページで、ブラウザから直接編集することもできます。ファイルを編集するには、ファイル表示画面で、右上の鉛筆アイコン(ゴミ箱の隣)を押します。ファイル新規作成は、フォルダ画面で + アイコンを押します。その隣の雲形アイコンで、アップロードもできます。 +- `【イラストで覚える】初心者のためのGitとGitHub用語集 `_ diff --git a/index.rst b/index.rst index be570b9..792f6a1 100755 --- a/index.rst +++ b/index.rst @@ -19,6 +19,7 @@ pre2 week1 week2 + git faq appendix .. arduino diff --git a/week2.rst b/week2.rst index bb54aa3..d0dc4b1 100755 --- a/week2.rst +++ b/week2.rst @@ -3,6 +3,8 @@ 1週目で学んだことを活かして、組み合わせてみましょう。 +.. note:: 一部古い記述がふくまれています。Arduino IDE → arduino-cli におきかえてください。 + 複数人で書いたプログラムを統合する ------------------------------------------------------------------------------