藪をつついたら出た「大蛇」
これは、秋葉原ロボット部と関連した団体秘密結社オープンフォースの総統(@nanbuwks)とオンライン朝活をしていた時のこと…
秋葉原ロボット部のQiitaアドベントカレンダー2024の12月1日ぶんの担当者がいないため、総統から私に何か書きませんかと打診があった。
私は他の執筆があるためアドベントカレンダーに割くネタが無いと断ったら、以前共に苦労して設定したSourcetreeのことについて書きませんかと打診された。
現環境は執筆に使用しているため再度設定して壊したくないと断ったら、ではN100搭載WindowsPCを送りますのでそれを使ってくださいと打診された。
もしここで断ると、せっかくだからOS無しPCにubuntuを新規インストールしてからSourcetreeを設定してくださいと無茶ぶりされかねない。断るわけにはいかなくて藪をつついたら蛇が出たと私が呟くと、総統は(恐らく満面の笑顔で)大蛇をバンバン出していくスタイルでと返してきた。
かくして…
こうして再度、あの苦労したSourcetreeの設定を行うこととなったのだが…
補給経路は大事です
執筆している現在、N100搭載WindowsPCは手元にない。補給経路のどこかで不具合が生じたらしく物資が滞っているようだ。
それでも期限はやってくる。それがアドベントカレンダーという戦場だ。
この苦境を持ちこたえるべく、ここからは以前Sourcetreeを設定した時に生じた苦労を記そうと思う。
なお、N100WindowsPCが到着次第インストール顛末を追記するものとする。
そもそも何故、Sourcetreeを使うことに?
宇宙関連の原稿 (https://github.com/busyoucow/spacefarm) を執筆するため、総統と朝活で喧々諤々議論しながら執筆内容やエビデンスを決めていたのだが、執筆した原稿内容を複数人で共有しながらバージョン管理するのに無期限無料で使える方法はないかと悩んでいた。
執筆はVSCodeを使用して (https://qiita.com/nanbuwks/items/56dad2c4d6a640f550e2#css-%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B) markdown形式で記述した後にGitHubへとアップロードしていた。印刷時はVSCodeでPDFファイルを作るか、総統側でmarkdownファイルを紙の原稿に適する形へ変換していた。
ある日バージョン管理ツールの使い方を覚えましょうと総統に言われこちら (https://qiita.com/nanbuwks/items/88027947b07bc1683209) を参照しながらSourcetreeを使用することとなった。
ちなみにコマンドベースでpushすればよいという意見もあるが、かくいう私がエンジニアにあるまじくコマンドライン入力のスペルミスやキーボードのチャタリングが多いので、ミス要因を減らすためにもバージョン管理ツールを使うものとした。
決して総統と執筆した誌面について食い違いが発生して別々のpushが発生したからではない。
ようやく到着
N100搭載Windows11コンパクトPCが届いたので、早速セットアップ。お弁当を温められそうなくらい発熱があるがこれで正常らしい。この機種はファンレスなので特に発熱があるようだ。
ダ〇ソーのステンレストレイをひっくり返してPCを乗せポータブルファンをあて発熱をどうにかする。朝ごはんも乗せてみよう(非推奨)
サンドボックス環境を整え、いざゼロベースでGithubリポジトリを作成してSourcetreeをインストールし設定する。
gitコマンドが使えない?
上記を参照しながらSourcetreeを設定していくが、上記記事の前提条件として次にあげる事前準備が記載されていた
- GitHub にログオンできる状態にしておく
- GitHub にレポジトリを作っておく
ログオンについてはGitHubにサインインすれば良いので問題はないのだが
レポジトリを作っておく でどこまでレポジトリを作っておけばよいかで悩んだ。
特にpushまで作っておかないといけないかと思い別途ネット上の情報を基にコマンドプロンプトでgit initをおこなったのだが
どうやらgitコマンドは専用アプリをインストールしないと使えないらしい。
そもそもgitはCUIベースのローカル上でインストールして使う管理ツールでありGithubはGUIベースのオンラインサービスである。
言い換えれば宿題を自己学習するか〇文教室でみてもらいながら行うのかの違いであろう。
Sourcetreen内のターミナルを使う
SourcetreeではGUIの操作だけではなくGUI画面からターミナルを呼び出すことができる。そのターミナルではgitコマンドが使用できる。
Sourcetree用のgitコマンドがインストールされているらしい。またをgitの初期化コマンドであるgit initをしないといけないかと思ったが上記記事の前提条件であれば、Github上でgit initが済んでいる状態なのでローカルで行う必要はない。
Sourcetreeでレポジトリのクローンを行った後指定したフォルダにファイルを作成すればSourcetree上でコミットとプッシュが行える。
バージョン管理ツールを使ってみて
コミットとプッシュ時にミスがほとんど出ないのはとても安心できると感じた。
また差分がわかりやすく表示され手戻り時もどこまで戻ればよいか、同時に複数人からコミットがあったときもどうなっているのかわかりやすいのがとても良かった。
ただ、権限付与の問題もあり既存のある程度書いたリポジトリを複数人で共有したり複製したりするときは手順をきちんと確認して行わないと完全な形になりにくいといけないと感じた。
最後に
N100搭載WindowsPCの上に乗せて温めたヤ〇ザキのチーズバーガーを食べながら、CUIの是非について考えてみた。
CUIであるコマンドラインは慣れれば素早く操作できるようだが、直感的な操作はGUIに軍配が上がる。
今後のITに必要なのは「慣れた」人向けのものなのか。それとも「慣れてない」人向けのものなのか。
昭和から平成中期までは圧倒的に前者だった。慣れるのがエンジニアとしての務めだった。
しかし現在はローコードやノーコードが流行り、宣伝でも「慣れてない」人向けのツールやプラットフォームが幅をきかせる。
ITは主にどちらへ向かうべきなのか。かつて技術立国と呼ばれた日本の凋落をみて考えを巡らせるが、まだ答えは出ない。