みなさんの置かれている状況によって
Git のコマンドライン操作まで習得するべきかどうかの判断は変わってきます。
この記事では、その判断をするにあたっての検討材料をまとめています。
自分のいま置かれている状況と照らし合わせて検討してみましょう。
Linux 知識の要らない Git 講座 目次にもどる
「GUI」「CUI」 という言葉の意味
TortoiseGit や Sourcetree などの、
グラフィカルな表示とマウスクリックやタップなどでやりとりする
インターフェースのことを
グラフィカル・ユーザー・インターフェース (GUI) と言います。
これに対して、Git Bash やコマンドライン・ターミナルなどの、
文字の入力と出力でやりとりするインターフェースのことを
キャラクター・ユーザー・インターフェース (CUI) と言います。
Git のコマンドライン操作のメリット
Git のコマンドライン操作ができると、次のような利点があります。
- Git 操作を shell script などのプログラムに組み込んで自動化できます
- ネットワーク上のドライブなど、 GUI の動作が著しく遅くなるときでも
高速に操作できます - GUI が起動できない Linux サーバー上でも Git の操作ができます
普段から CUI で操作した方がいいの?
Git を操作するときは、基本的には
TortoiseGit などのグラフィカル・ユーザー・インターフェース (GUI) を使って
操作を行うことをおすすめします。
筆者はコマンドライン操作ができますが、
GUI が利用できるときは極力 GUI を利用して操作するようにしています。
なぜなら、視認性が良く、操作ミスを起こしにくいからです。
これは Git の話を越えて、なぜ CUI の後に GUI が発明され
世の中にこれだけ受け入れられてきたかという話になります。
Git を操作するということは、操作している人間が
なにかの判断をすることであると言えます。
もし Git の操作に人間の判断が必要なく、同じ操作を繰り返しているのだとしたら、
その操作は shell script などのプログラムを使って自動化されているべきです。
人間がなにかの判断を検討するとき、
なぜ資料としてグラフを用いるのかを考えれば
Git を操作する上でも GUI を利用することは合理的な判断です。
CUI の方が速度が速いという点について
操作ミスしたときのリカバーにかかる時間を考慮したとき
このメリットはほとんどありませんでした。
事実、筆者がトレーニングしてきた経験では
GUI を利用せず CUI で Git を操作していた開発者が
リポジトリーを壊してしまうことがよくありました。
その最も多い原因は
Git を操作しているときの状況をよく理解していなかったというものです。
プログラマーだから CUI を使うべきという論調について
CUI でしかできない操作というのは確かにあり、
プログラマーにとって CUI は避けて通れないものですが、
まずはコマンドでしかできない操作に絞って習得していった方が
生産性は上がります。
また、Linux サーバー上での Git の操作は
現代においてはプログラムで自動化されているはずなので、
人間がコマンドを入力して実行しなければいけない状況はほとんどありません。
そのときに CUI で操作できる人が対応すればよいでしょう。
一方で、普段 CUI を使わないとすると、
Git の CUI 操作を習得するタイミングがなくなるのではないかという心配もあります。
筆者がプログラマーの方におすすめする、 Git の CUI 操作習得のタイミングは
アプリケーション開発のときではなく、 Git を使った自動化処理作成のときです。
このタイミングであれば、事前のテストを通じて
Git のコマンドがどのような結果になるのかを安全に習得することができます。
Git の操作方法を組織で統一すべきかどうか
筆者は Git に限らず、誰の助けも借りず一人で制作できるのであれば
ツールを選択する自由は、あった方がよいと考えています。
ツールの価値は変わり続けるので、
常に最善の方法をキャッチアップし続ける必要があるからです。
一方で、以下のような場合はどうしてもツールを統一する必要があります。
- 複数人で 1 台の PC を使って相談しながら制作する場合
- 初学者をトレーニングする場合