がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

講義資料用のgit commitコマンド自動作成プログラム

超絶雑なブツなのですが。
んと……おいちゃん、元々「頭からケツに向かってコードを書く」ってことはあんまりしなくて。
「最低限これだけ」「これも必要になったから追記して」「あれが必要になったから共通化して」って感じで、切ったり張ったりしながらコードを書く事が多いです。


で…それを「自分でやったり」「その場で行き当たりばったりに教えたり」する分にはよいのですが、ビデオ撮影とかで講義で使う資料だと「書いた時」と「しゃべるタイミング」が違うので、微妙に齟齬が出そうなので。
ファイルの作り方に少し注意をはらいつつ、差分は「github様を頼ろう」という、他力本願な方法で現在動かしてますw
この辺見てもらって、わかるんだかわからないんだかw
https://github.com/gallu/PHP_beginner_course/commits/master/db_2/form_insert.php


で、その「githubへの登録」のコマンドをえっちらおっちら作るのも面倒なので、そのあたりだけ自動化しました。
「自前用」なので意味合い的には「ワンライナーにも似た気軽さ」なので、諸々のチェックとかすっとばしまくってます。


基本ただの備忘録ですが、まぁせっかくなんで、程度に。

<?php
// 例:  php t.php form_insert.php 4
$fn = $argv[1];
$num = (int)$argv[2];

list($a, $b) = explode('.', $fn);
for($i = 0; $i < $num; ++$i) {
  $j = $i + 1;
  $next = sprintf("%s_%02d.%s", $a, $j, $b);
  echo "git add {$next}\n";
  echo "cp {$next} {$fn}\n";
  echo "git add {$fn}\n";
  echo "git commit {$next} {$fn} -m \"{$fn} ";
  printf("%02d -> %02d\"\n", $i, $j);
  echo "\n";
}