LoginSignup
5
5

More than 5 years have passed since last update.

ほ…ほむらちゃん。あの…あなたはどんなgitコマンドを打って魔法少女になったの?

Last updated at Posted at 2019-03-22

また衝動的に書いてしまいました。反省してます。

前作:シンジ「綾波はなぜAngularを使うの?」レイ「絆だから」
まどかシリーズの前作:そんな…どうして…?さやかちゃん、async/awaitでPromiseから人を守りたいって、そう思って魔法少女になったんだよ。

マミさんのハードなgit生活

マミ 「さて、それじゃgit体験コース第一弾、張り切っていってみましょうか」
マミ 「準備はいい?」
さやか「準備になってるかどうか分からないけど…git reset --hard持って来ました!何もないよりはマシかと思って」
マミ 「まあ、そういう覚悟でいてくれるのは助かるわ」
まどか「え?えっと。私は… git reflog
さやか「うーわー
まどか「と、とりあえず、さやかちゃんがバカやったときのことだけでも考えておこうと思って」

~ほむほむ登場~

ほむら「今回の獲物は私がgit rebaseする。貴女達は手を引いて」
マミ 「そうもいかないわ。git reset --hardしてからソースコードを手動コピーしないと」
ほむら「ブランチの構成は保証するわ」
マミ 「信用すると思って?」
ほむら「ば、馬鹿。まだワーキングツリーにソースコードがあるでしょ」
マミ 「もちろん手動バックアップするけど、あんまり暴れたらgit mergeからのgit resetでコンフリクトを直すわ」
ほむら「今度のブランチは、これまでの伸び方とはわけが違う」
マミ 「おとなしくしていれば帰りにちゃんとgit push origin -fしてあげる」

マミさんの底辺git生活

まどか「私って、昔からgit reflogとか、git commit --amendとか人に自慢できないコマンドばかりで」
まどか「きっとこれから先ずっと、git rebase -igit diff --chached --name-statusも出来ないまま、迷惑ばかりかけていくのかなって」
まどか「それが嫌でしょうがなかったんです」
まどか「でもマミさんと会って、git reset --hardと手動コピーで戦ってるの、見せてもらって」
まどか「同じことが、私にもできるかもしれないって言われて」
マミ 「大変だよ。怪我もするし、プログラミングする暇もなくなっちゃうよ」
まどか「でも、それでもがんばってるマミさんに、私、憧れてるんです」

マミ 「でもさ。せっかくなんだし、願いごとは何か考えておきなさい」
まどか「せっかく…ですかねぇ、やっぱり」
マミ 「失ったソースコードを取り戻すとか、3つ前のコミットを修正するとか、何だっていいじゃない」
まどか「いやぁ…それは全部gitででk…」
マミ 「じゃあ、こうしましょう。キュゥべえにgit branchgit checkoutを頼みましょう」
まどか「いやぁ…それはgit checkout -bでいいd…」
マミ 「それで、みんなでブランチを作ってgit pushするの。私と鹿目さんの、gitコンビ結成記念よ」
まどか「私のローカルブランチを全部リモートリポジトリに?」

さよならマミさん

キュゥべえ「マミ!プルリクマージがコンフリクトした。急いで!」
マミ 「オッケー、わかったわ。今日という今日は速攻でgit reset --hardしてファイル上書きするわよ」
まどか「ええ…author変わっちゃう…」
マミ 「せっかくのとこ悪いけど、一気に決めさせて…もらうわよ!」
さやか「やったぁ!」
マミ 「rm -rf ./foobar && git clone https://foobar.git
マミ 「
まどか「あっ、あっ
さやか「あぁ!

ほむら「目に焼き付けておきなさい。git cloneし直すとローカルリポジトリは全て消えるのよ」
さやか「返してよ。」
ほむら「ん?」
さやか「返せよ。それは…それは…マミさんのものだ!返せって言ってるだろ!マミさんに!」
ほむら「これはリモートリポジトリのコピーよ。貴女達には、ローカルのソースコードを復活させる資格なんてない」

さやか「マミさん、本当に優しい人だったんだ」
さやか「gitと戦うために、どういう覚悟がいるのか、私たちに思い知らせるために、あの人は…」

まどかの救いの手

ほむら「貴女は自分を責めすぎているわ。鹿目まどか」
まどか「え?」
ほむら「貴女を非難できる者なんて、誰もいない。いたら、私が許さない」
まどか「私がもっと早くにgit statusgit branchでマミさんのリポジトリを確認していたら」
ほむら「それで、巴マミの運命が変わったわけじゃないわ」
ほむら「git merge --continueして"close #128"でプルリクを閉じてくれただけでも、私は嬉しい」
まどか「ほ…ほむらちゃんはさ、何だかマミさんとは別の意味でベテランって感じだよね」

まどか「誰も…マミさんが死んだこと、気づかないの?」
ほむら「仕方ないわ。ローカルリポジトリを消せば、死体だって残らない。リモートの世界では、彼女は永遠に行方不明者のまま」
ほむら「ローカルリポジトリを使いこなせない魔法少女の最期なんて、そういうものよ」
まどか「ひどいよ…」

さやかちゃん(笑)

~さやかちゃん戦闘中~

まどか「えっ…さやかちゃん!?」
さやか「git cherry-pickでとどめだぁ!!」
さやか「いやーゴメンゴメン。危機一髪ってとこだったねぇ」
まどか「さやかちゃん…それリビジョン変わってブランチ繋がらないよ
さやか「ん?あーはっは、んーまあ何、心境の変化って言うのかな?」
さやか「ん?大丈夫だって!git cherry-pickなら手動コピーじゃないでしょ?」

さやか「舞い上がっちゃてますね、あたし」
さやか「これからも変更の取り込みは、この魔法少女さやかちゃんが、ガンガンgit cherry-pickしまくりますからね」
さやか「後悔なんて、あるわけない」

ほむら「話って何?」
まどか「あのね、さやかちゃんのこと、なんだけど…」
まどか「あ、あの子はね、思い込みが激しくて、意地っ張りで、結構すぐgit clean -dfしちゃったり」
ほむら「魔法少女としては、致命的ね」
まどか「そう…なの…」

まどかの秘密

詢子「おっ、眠れないのかい?」
まどか「友達がね。大変なの」
まどか「git cherry-pickgit clean -dfも、たぶん間違ってなくて」
まどか「なのに、正しいことをがんばろうとすればするほど、どんどんひどいことになっていくの」
詢子「よくあることさ」
まどか「え?」
詢子「悔しいけどね。gitコマンドを覚えていけば、ハッピーエンドが手に入るってわけじゃない」

まどか「ほむらちゃんは…git pullよりgit fetchの方が使いやすいこと知ってたの?」
まどか「どうして教えてくれなかったの?」
ほむら「前もって話しても、信じてくれた人は今まで一人もいなかったわ」
まどか「キュゥべえはどうしてgit pushの反対はgit pullだって言ってるの?」
ほむら「あいつは人間の価値観が通用しない生き物だから」

まどか「ねぇ、杏子ちゃん」
まどか「ローカルブランチばっかり作って、git checkout -- foogit add -pで本体ブランチを作る私って、やっぱり、卑怯なのかな」
杏子「何でアンタがローカルブランチを作るわけさ?」

まどか「いきなり秘密がバレちゃったね」
まどか「クラスのみんなには、内緒だよっ」

あとがき

ごめんなさい、最後は収集つかなくなって打ち切りみたいになりました。
良いエンディングを思いついた方がいらしたら教えてください。

gitはあらゆる変更を自由自在に組み替えられますが、
一方でgitコマンドを覚えただけではそういう境地には至らない気もしています。
積み木を床にばら撒くようにコミットをそこら辺に残しておいて、後で綺麗なお城(ブランチ)を組み上げる、
そんな風に使えると捗るんだけどね…っていうお話でした。

参考文献 : 魔法少女まどか☆マギカ WIKI 台詞集 (いつも使わせていただいてます、ありがとうございます)

5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5