Scribble at 2025-09-01 08:40:24 Last modified: 2025-09-01 10:04:49

添付画像

This is a tutorial for the Jujutsu version control system. It requires no previous experience with Git or any other version control system.

Jujutsu for everyone

既に多くのウェブ・アプリケーション技術者(「ウェブ・アプリケーション・エンジニア」と、外来語を三つも繋げる表現は、日本語として醜悪だと感じる。理由を述べたり正当化するのは難しく、これは性癖のようなものなのでご容赦いただく他にない)が VCS として Git を使っているのは事実であろう。というよりも、2010年代以降にウェブ・アプリケーションの開発を始めたような人たちは、殆ど Git 以外の VCS を知らないか、使う動機すら持っていなかったと思う。

大規模なシステム開発では SVN を始めとして IDE に統合されたソース・コードの管理システムがあるという状況だと、末端の下請けシステム開発会社や派遣社員のエンジニアに、ソース・コードの管理手法を決める権限などなかったであろう。また、僕らのようなウェブ制作会社のプログラマとなると、開発を含めた業務の環境について、ツールやサービスを単独で決めて導入できることが多いので、要するにデザイナーやサーバ技術者などとのコラボレーションを除けば独りでソースを扱う他にないのだから、皮肉なことに VCS を積極的に使う理由も責任もなかったわけである。自分の書いたコードの履歴を記録したり管理するなんてことは、ウェブ・フォームやウェブ・サイトを納品してしまえばどうでも良くなる、「刹那的」と言ってもよい受託のウェブ制作という実務において、はっきり言って価値も意義もなかったと言える。ウェブ制作会社に所属しているエンジニアの諸君に聞きたいのだが、bA だろうとバスキュールだろうとキノトロープだろうとミツエーリンクスだろうと Neu だろうと(こういう会社の出身者も僕の同僚だった)、仮にあなたが VCS でもいいし過去のソース・コードを DVD-R に記録しているのでもよいが、15年前に納品したコードを再び使ったり参照するなんてことがあるだろうか。まぁ、僕の場合は、15年くらい前に書いたバリデーションやサニタイズ(ホワイトリスト形式とブラックリスト形式の検知も含む)のコードを、いまだにコピーして使っているコーダがいるようだが(電通や博報堂などの案件で他社のコードを見る機会はいくらでもあるため、コードを見れば分かる。逆に言えば、僕が納品したコードを他社のエンジニアが見る機会もあるわけだ)、普通はそんなことしない。もちろん、僕も自分が書いたコードをいまだに使ってるなんてことはないし、情報セキュリティのマネージャすらやっている人間が15年前の手法でバリデーションをやっているわけがないだろう。

で、そんなことはどうでもいいのであって、今では Git を使っている人が圧倒的に多いという話であった。リーナスが考案して Linux カーネルの開発に導入したという経緯から、何か「神聖なる武器」であるかのように錯覚している若造も多いとは思うが、こんなもんただのツールにほからないのであって、リーナスであろうとガラクタやゴミみたいなコードを書くことはありえる。したがって、コンピュータ・サイエンスの素養がなくてもエンジニアとしての常識から言えば、Git の alternatives があっても不思議ではないと思うのが当然だ。そして自分自身の誤解や未熟さゆえの理由ではなく、或るツールの仕様なり運用に不満があるなら、別の発想や仕様で別のツールを作ってみることは、寧ろオープン・ソースの精神に則った正常な振る舞いというものであろう。使いにくくてもデファクト・スタンダードなツールだから使うというのでは、それこそ単なる企業の歯車にすぎない。あなたが富士通やアクセンチュアの5次請けで働くコーダやクラウド・ワーカーであればともかく、いやしくも「エンジニア」や「プログラマ」を名乗っておきながら、その醜態なり醜悪な思考は恥ずべきものでもあろう。

なので、もちろん昔からあるツールを検討してもよいし、Jujutsu のような(あいかわらず、こういう奇妙な日本語の使い方には違和感を禁じ得ないが)ツールを試してみてもよいだろう。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る