なぜファイルを追加し忘れるのか
原因だけは大体分かってますが、適切な対応策が今のところありません。
まず状況を確認
作業フローとして
- クローン
- ブランチを切る
- 試しにビルドする
- 新しいファイルを作る
- ファイルを各所に登録する
- ビルドする
- コミットする
- マージしてプッシュする or ブランチごとプッシュしてからマージしてもらう
こんなところだと思います。
追加し忘れたとき
プルした人からクレームがきて気付く
困ったものです。いえ、困ったやつがいたものです。
急いで追加・コミット・プッシュする
ビルドして動作確認出来ているときはこれで解決できます。しかし迷惑をかけた事実は消えません...
原因を紐解く
5.ファイルを各所に登録する
このときにGit追加処理をしていないから、そのまま忘れるわけです。
なぜすぐに追加処理をしないのか
心理的な問題もあるのですが、類似のファイルをコピーして修正しているときに多く発生している気がします。
つまりファイルをコピーして生成した直後は非常に胡散臭い状態であり、その直後にGit追加するのははばかられるわけです。
とりあえずファイルを適切なコードに仕上げてから追加・コミットしよう、と考えてしまいます。
追加とコミットは別なのだから、追加だけしておけば良いのに。
対策はもしかして...
本件の対策ですが、案外簡単なのかもしれません。
ファイルをコピーしない
完全に空のファイルを作り、仮にmasterへプッシュしてしまっても平気なファイルを追加するのであれば、心理障壁は下がりそうです。
追加されていないファイルをコンパイル時に検出する方法はないか?
同じ問題に悩んでいる人は(全く?)居ないようです...バカなので仕方ない、と諦めます...
と思ったのですが、ビルドのバッチに
git ls-files --others --exclude-standard *.cpp *.h
と入れておけば、ビルドするたびに未追加のファイルが表示されます。
出てきた結果を見て「あっ」となるだけマシになりそうです。