
この間、とあるチームでWebサービスを作る機会があったので、みんなで集まって作業をしていた時に、
1人だけ、
SourceTreeを使っているエンジニアがいました。
別にGUIツールを使う事が悪い事ではないんですが、他のメンバーがコマンドでどんどん作業を進めていく中、
ひとりだけモタついていて、焦っている姿が少しかわいそうに思えたんですね。
GITをコマンドで使えないエンジニアは、少しコマンドラインに苦手意識を持っている人が多く、
仕事で行う際に難儀に感じている事が多いようです。
そして、今度とあるNPO団体でGITのセミナーをして欲しいと言う要望をいただき、
自分がGITを教える講師になるご依頼をもらいました。
GITって、もはやエンジニア以外が使うツールとして重要なポジションになっていると感じたので、
是非、パソコンのOSでも、デフォルトインストールされている状態になってもらいたいですね。
GITの習得に必要なコト
10年以上GITを使って、仕事のプログラミングコードのバージョン管理をしていますが、
10年以上前は、SVCやら、VSSなどのバージョン管理を使っていました。
どれもイマイチの使い方で、バージョン管理はできるけど、便利に使えていた記憶はありません。
GITの最もイケている点は、チーム開発に向いている点と、リポジトリとブランチの柔軟性だと思います。
最初はGITコマンドを覚えるのが大変だったのと、何かしら失敗した時にそれをリカバリーする方法に戸惑っていたのが懐かしいのです。
でも、ほぼ毎日のように使っていると、あるタイミングから、何の違和感もなくなり、
ソースコードの管理に対して便利に使える上、他の人のトラブルにも対応できるようになりました。
要するにコレって、使い続けて慣れるというのが、1番の習得に必要だったという事なんですね。
だって、機能が多い上、やってはいけない操作などを繰り返し体験して、やって良い事と悪い事を明確に認識できる事が重要です。
また、コマンドなど繰り返し実行する事で、返ってくるメッセージが英語だけど、スラスラ読めて、失敗した時の違和感に気がつきやすくなります。
とにかく使い続ける事で、疑問をちょっとずつ解消していく事がスキルアップのポイントだったんですね。
ファイルを消しても戻ってくるGITの安心感
「必要なファイルを消してしまった」という場面で、GITを使っていると、ブランチを切り替えたり、履歴を戻す事で、削除してしまったファイルも元通りに戻ってくるという利点があります。
バージョン管理だから当たり前だと思っているのは少しだけある落とし穴に気がついていない証拠です。
GITを導入していても、ちゃんとコミットしておかなければ、そのタイミングでの状態をキープしておくことはできません。
こまめに、コミットして初めてGITの恩恵を受けられるんですよね。
そうなるために、少なくても1日のプログラミング作業終了時にコミットする習慣をつけておく必要があるという事ですね。
GITセミナーについて
これまで、東京大学の職員さんが使うホームページを改修して、その管理方法でGITを採用して、
メンバーの人たちに数ヶ月にわたってGITをレクチャーすると言う講義を行ったり、
PODCASTラジオで、GITについての初心者向け解説を行ったりしましたが、
改めて0からGITを学習する(教える)ことが非常に難しいという事を思い知らされました。
でも、これまで数回の講義を実践して分かったことは、GITはまず最初に自分のパソコン内に環境を作るところから始めなければいけないので、ここで挫折をしてしまう人が多いみたいですね。
MacとWindowsでもインストールする内容も違えば、ターミナルの種別も違っているので、使用するOS別での対応は必須です。
でも、OSやツールが違っても、GITコマンドは全く同じ扱いになるので、あらためて入り口での挫折というもったいなさは、なんとかして解消したいものだと感じました。
あと、リポジトリやブランチ、コミット・・・この関係性と、HEAD位置や、今自分がどういう状態なのかという認識は、なかなか初心者は理解しずらいのだそうです。
そらそうですよね。よくわかります。
頭の中でブランチの状態をイメージしながら、コミットしてログをためていくデータベースのような思考ができるようにならないと、GITはなかなか習得しずらいと思いました。
あとがき
とにかく、エンジニアであれば、毎日プログラミングの学習をしていると思うので、その時の学習を是非コードを保存して、GITを使ってコミットしていく活動を続けるといいでしょう。
1日、1add 1commit できれば 1push までやると、基本の一通りの操作が行えるので、この繰り返しでGITを学習していくといいでしょう。
そして、たまにブランチを切り替えたり、
Freatureブランチを作って、mainブランチにマージをしたりすることを繰り返して、途中でコンフリクトを経験して、それを修正して・・・
本当にその繰り返しでGITをちょっとずつ習得していくのがいいスキルアップ方法なんじゃないかと思います。
GITをコマンドで使えるようになると、VSコードだけで色々な作業が完結できるようになるので、非常に便利にプログラミング作業を進めるようになりますからね。
苦手意識がある人は是非お話ししましょう。その苦手ポイントを見つけてあげますよ。
0 件のコメント:
コメントを投稿