研修あがりの新人さんが「git知っています」と報告してくれた場合の注意点
何年かいろいろな新人さんと関わってきたのですが「研修でgitやってきましたっ!」と報告を受けます。
「まぁ、コミット、ブランチ、プッシュあたりはできるのだろうな」と思っていると、新人さんの「やってきた」と私の認識に違いがよくあるという話。
パターン1 gitがなんであるかそもそもわかっていない
研修の先生に「プログラム書き換わったらコミットしてプッシュしておいてね」と言われて。
文字通りそれしかやっていない場合。
「言われた通り gitコマンドを打ち込みましたが、結果なにが行われるかわかりません」という状態です。
gitの目的から教えてあげてください。
パターン2 gitはファイル転送ツールだと思っている
パターン1よりは少し理解しており、「プッシュするとブログラムコードがどっかにアップロードされるのだな」とは漠然と思っている。
でもコミットとプッシュしかしらないので、プルもフェッチもマージも知りません。(研修に問題があるような気もするが)
gitの基本コマンドと意味を教えてあげてください。
パターン3 gitをファイル保存ツールだと思っている
プルもプッシュも出来るのだけど、gitがバージョン管理ツールである事を知らない場合。
目を疑ったのは、mainブランチのみで運用し、ルート直下に日付ディレクトリが日々作成されている。
毎日の作業終わりに日付ディレクトリを新規作成し、その下にプログラムを丸ごとコミット→mainブランチにプッシュしていた事例。
バージョン管理ツールとはなにか、またブランチの存在意義を教えてあげてください。
パターン4 gitを納品ツールだと思っている
新人さんだけではなく下手すると入社3~4年目でもいたりするので困ったものだが、
日々のコーディングには全くgitを使っておらず、デバッグ完了してから gitにコミットするパターン。
日々の更新は手元で日付ごとにディレクトリを切ったり、コードの中にコメントで「ここからここまではテストコード」とか記載して運用している。
話を聞いてみると「動かないコードをgitに上げるな!ブランチをたくさん作ったり、何回も何回もコミットしてgitを汚すな」と言われた事が原因のようだ。
いや、それなら開発用ブランチを作成してそこでローカル開発すればいいじゃん....
メインのブランチに出すときコミットまとめられるじゃん...ブランチだって消せるじゃん....
gitという素晴らしいツールがあるので持ち腐れとなってしまうので、どのように使っているか確認しましょう。
と、いうかそんな事言ったやつはどこのどいつだ。
話を聞いてみるとあまりプログラムに興味が無くこの世界に入った方が、このような考えをしてしまうのかなーと感じます。
gitを研修で使っても「gitってなんだろ、何のためにあるのだろ」と疑問に思わないパターン。
チラっとでも知らない事はググってみるくらいの心構えを持ってくれると嬉しいです。
Discussion